[#BloombergLP-bdlb-String]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlb.adoc[bdlb]::String
:relfileprefix: ../../
:mrdocs:

This `struct` provides a namespace for a suite of functions on STL&hyphen;style strings (`bsl&colon;&colon;string`, `std&colon;&colon;string`, `std&colon;&colon;pmr&colon;&colon;string`), C&hyphen;style strings, and strings specified by a `(const char &ast;, int)` or `(char &ast;, int)` pair&period;

== Synopsis

Declared in `&lt;bdlb&lowbar;string&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct String;
----

== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlb/String/areEqualCaseless-010.adoc[`areEqualCaseless`] 
| `areEqualCaseless` overloads
| xref:BloombergLP/bdlb/String/copy-01.adoc[`copy`] 
| `copy` overloads
| xref:BloombergLP/bdlb/String/lowerCaseCmp-0c.adoc[`lowerCaseCmp`] 
| `lowerCaseCmp` overloads
| xref:BloombergLP/bdlb/String/ltrim-03.adoc[`ltrim`] 
| `ltrim` overloads
| xref:BloombergLP/bdlb/String/pad-00.adoc[`pad`] 
| `pad` overloads
| xref:BloombergLP/bdlb/String/rtrim-07.adoc[`rtrim`] 
| `rtrim` overloads
| xref:BloombergLP/bdlb/String/skipLeadingTrailing.adoc[`skipLeadingTrailing`] 
| Skip leading and trailing whitespace characters in the string indicated by the specified `&ast;begin` and `&ast;end` iterators by appropriately advancing `&ast;begin` and regressing `&ast;end`&period; If the indicated string is empty, or consists solely of whitespace characters, `&ast;begin` is unchanged and `&ast;end` is regressed to `&ast;begin`&period; Otherwise, advance `&ast;begin` to the first non&hyphen;whitespace character whose position is greater than or equal to `&ast;begin` and regress `&ast;end` to one past the position of the last non&hyphen;whitespace character whose position is less than `&ast;end`&period; The indicated string need not be null&hyphen;terminated and may contain embedded null (&apos;0&apos;) characters&period; The behavior is undefined unless `&ast;begin &lt;&equals; &ast;end`&period; Note that since `&ast;begin` and `&ast;end` are iterators, `&ast;end` refers to the character one past the end of the subject string&period;
| xref:BloombergLP/bdlb/String/strnlen.adoc[`strnlen`] 
| Return the minimum of the length of the specified `string` and the specified `maximumLength`&period; If `maximumLength` is 0, `string` may be null and 0 is returned&period; The behavior is undefined unless `0 &lt;&equals; maximumLength`&period;
| xref:BloombergLP/bdlb/String/strrstr.adoc[`strrstr`] 
| Return the address providing non&hyphen;modifiable access to the last position in the specified `string` having `stringLen` characters at which the specified `subString` having `subStringLen` characters is found, or 0 if there is no such position&period; If `subStringLen` is 0, `subString` may be null and `string &plus; stringLen` is returned&period; The behavior is undefined unless `0 &lt;&equals; stringLen` and `0 &lt;&equals; subStringLen`&period; See &lcub;`bdlb&lowbar;stringviewutil`&rcub; for an identically named method having similar semantics taking (and returning) `bsl&colon;&colon;string&lowbar;view`&period;
| xref:BloombergLP/bdlb/String/strrstrCaseless.adoc[`strrstrCaseless`] 
| Return the address providing non&hyphen;modifiable access to the last position in the specified `string` having `stringLen` characters at which the specified `subString` having `subStringLen` characters is found using case&hyphen;insensitive comparison, or 0 if there is no such position&period; If `subStringLen` is 0, `subString` may be null and `string &plus; stringLen` is returned&period; The behavior is undefined unless `0 &lt;&equals; stringLen` and `0 &lt;&equals; subStringLen`&period; See &lcub;`bdlb&lowbar;stringviewutil`&rcub; for an identically named method having similar semantics taking (and returning) `bsl&colon;&colon;string&lowbar;view`&period;
| xref:BloombergLP/bdlb/String/strstr.adoc[`strstr`] 
| Return the address providing non&hyphen;modifiable access to the first position in the specified `string` having `stringLen` characters at which the specified `subString` having `subStringLen` characters is found, or 0 if there is no such position&period; If `subStringLen` is 0, `subString` may be null and `string` is returned&period; The behavior is undefined unless `0 &lt;&equals; stringLen` and `0 &lt;&equals; subStringLen`&period; See &lcub;`bdlb&lowbar;stringviewutil`&rcub; for an identically named method having similar semantics taking (and returning) `bsl&colon;&colon;string&lowbar;view`&period;
| xref:BloombergLP/bdlb/String/strstrCaseless.adoc[`strstrCaseless`] 
| Return the address providing non&hyphen;modifiable access to the first position in the specified `string` having `stringLen` characters at which the specified `subString` having `subStringLen` characters is found using case&hyphen;insensitive comparison, or 0 if there is no such position&period; If `subStringLen` is 0, `subString` may be null and `string` is returned&period; The behavior is undefined unless `0 &lt;&equals; stringLen` and `0 &lt;&equals; subStringLen`&period; See &lcub;`bdlb&lowbar;stringviewutil`&rcub; for an identically named method having similar semantics taking (and returning) `bsl&colon;&colon;string&lowbar;view`&period;
| xref:BloombergLP/bdlb/String/toFixedLength.adoc[`toFixedLength`] 
| Copy into the specified `dstString` at most the specified leading `dstLength` characters from the specified `srcString` having the specified `srcLength`&period; If `srcLength &lt; dstLength`, after `srcString` is copied to `dstString` repeatedly append to `dstString` the optionally specified `padChar` until the total number of characters written to `dstString` is `dstLength`&period; If `padChar` is not specified the space (` `) character is appended&period; The behavior is undefined unless `0 &lt;&equals; dstLength` and `0 &lt;&equals; srcLength`&period;
| xref:BloombergLP/bdlb/String/toLower-089.adoc[`toLower`] 
| `toLower` overloads
| xref:BloombergLP/bdlb/String/toUpper-0f.adoc[`toUpper`] 
| `toUpper` overloads
| xref:BloombergLP/bdlb/String/trim-0bf.adoc[`trim`] 
| `trim` overloads
| xref:BloombergLP/bdlb/String/upperCaseCmp-036.adoc[`upperCaseCmp`] 
| `upperCaseCmp` overloads
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
