Version 4 (modified by landauf, 16 years ago) (diff) |
---|
String
TracNav(TracNav/TOC_Development)?
String defines several useful functions for string manipulation. The following list gives a short overview:
- strip(string* pointer): Removes all whitespaces from a string. See getStripped for examples.
- getStripped(string): Removes all whitespaces and returns the modified string.
- Example: getStripped(" test abc\tabc test\nThis is a newline! ") = "testabcabctestThisisanewline!"
- removeTrailingWhitespaces(string): Removes trailing whitespace and returns the modified string.
- Example: removeTrailingWhitespaces(" test abc ") = "test abc"
- getNextQuote(string, start): Returns the position of the next quote in the string, starting with start.
- Examples:
- getNextQuote("012\"456\"89", 0) = 3
- getNextQuote("012\"456\"89", 3) = 3
- getNextQuote("012\"456\"89", 5) = 7
- getNextQuote("012\"456\"89", 8) = std::string::npos
- Examples:
- isBetweenQuotes(string, position): Returns true if position is between two quotes.
- Examples:
- isBetweenQuotes("012\"456\"89", 0) = false
- isBetweenQuotes("012\"456\"89", 3) = false
- isBetweenQuotes("012\"456\"89", 4) = true
- isBetweenQuotes("012\"456\"89", 7) = false
- isBetweenQuotes("012\"456\"89", 8) = false
- Examples:
- hasStringBetweenQuotes(string): Returns true if the string contains something like '…"between quotes"…'.
- Examples:
- hasStringBetweenQuotes("test") = false
- hasStringBetweenQuotes("test\"abc") = false
- hasStringBetweenQuotes("test\"abc\"") = true
- Examples:
- getStringBetweenQuotes(string): If the string contains something like '…"between quotes"…' then 'between quotes' gets returned (without quotes).
- Examples:
- hasStringBetweenQuotes("test") = ""
- hasStringBetweenQuotes("test\"abc") = ""
- hasStringBetweenQuotes("test\"abc\"") = "abc"
- Examples:
- stripEnclosingQuotes(string): Removes enclosing quotes if available (including whitespaces at the outside of the quotes).
- Examples:
- stripEnclosingQuotes(" \"hello!\" ") = "hello!"
- stripEnclosingQuotes(" \"hello! ") = " \"hello! "
- Examples:
- stripEnclosingBraces(string): Removes enclosing {braces} (braces must be exactly on the beginning and the end of the string).
- Examples:
- stripEnclosingBraces("{test}") = "test"
- stripEnclosingBraces(" {test}") = " {test}"
- stripEnclosingBraces("{ test }") = " test "
- Examples:
- isEmpty(string): Determines if a string is empty (contains only whitespaces (' ', \t, \n).
- isComment(string): Determines if a string is a comment (starts with a comment-symbol). A comment is defined by a leading '#', '%', ';' or ''.
- Examples:
- isComment("# test") = true
- isComment("a # test") = false
- isComment(" # test") = true
- Examples:
- isNumeric(string): Determines if a string contains only numbers and maximal one '.'.
- addSlashes(string): Adds backslashes to the given string which makes special chars visible. Existing slashes will be doubled.
- Examples: "
" → "
", "\n" → "
n"
- Examples: "
- removeSlashes(string): Removes backslashes from the given string. Double backslashes are interpreted as one backslash.
- Examples: "
" → "
", "
n" → "\n"
- Examples: "
- lowercase(string* pointer): Replaces each char between A and Z with its lowercase equivalent. Uses tolower (C function).
- getLowercase(string): Returns a copy of the given string without uppercase chars.
- uppercase(string* pointer): Replaces each char between a and z with its uppercase equivalent. Uses toupper (C function).
- getUppercase(string): Returns a copy of the given string without lowercase chars.
- nocaseCmp(string1, string2): Compares two strings ignoring different casing.
- nocaseCmp(string1, string2, length): Compares the first 'len' chars of two strings ignoring different casing.
- hasComment(string): Returns true if the string contains a comment, introduced by #, %, ; or .
- Examples:
- hasComment("test") = false
- hasComment("# test") = true
- hasComment(" # test") = true
- hasComment("a # test") = true
- Examples:
- getComment(string): If the string contains a comment, the comment gets returned (including the comment
- Example: getComment("abc # test") = "# test"
symbol), an empty string otherwise.
- getCommentPosition(string): If the string contains a comment, the position of the comment-symbol gets returned, std::string::npos otherwise.
- Examples:
- getCommentPosition("# test") = 0
- getCommentPosition("abc # test") = 4
- getCommentPosition("abc test") = std::string::npos
- Examples:
- getNextCommentPosition(string, start): Returns the position of the next comment-symbol, starting with start.
- Examples:
- getCommentPosition("abc # test", 0) = 4
- getCommentPosition("abc # test", 4) = 4
- getCommentPosition("abc # test", 5) = std::string::npos
- Examples: