| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This file defines utility functions for working with strings. | 5 // This file defines utility functions for working with strings. |
| 6 | 6 |
| 7 #ifndef BASE_STRINGS_STRING_UTIL_H_ | 7 #ifndef BASE_STRINGS_STRING_UTIL_H_ |
| 8 #define BASE_STRINGS_STRING_UTIL_H_ | 8 #define BASE_STRINGS_STRING_UTIL_H_ |
| 9 | 9 |
| 10 #include <ctype.h> | 10 #include <ctype.h> |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 BASE_EXPORT StringPiece TrimString(StringPiece input, | 199 BASE_EXPORT StringPiece TrimString(StringPiece input, |
| 200 const base::StringPiece& trim_chars, | 200 const base::StringPiece& trim_chars, |
| 201 TrimPositions positions); | 201 TrimPositions positions); |
| 202 | 202 |
| 203 // Truncates a string to the nearest UTF-8 character that will leave | 203 // Truncates a string to the nearest UTF-8 character that will leave |
| 204 // the string less than or equal to the specified byte size. | 204 // the string less than or equal to the specified byte size. |
| 205 BASE_EXPORT void TruncateUTF8ToByteSize(const std::string& input, | 205 BASE_EXPORT void TruncateUTF8ToByteSize(const std::string& input, |
| 206 const size_t byte_size, | 206 const size_t byte_size, |
| 207 std::string* output); | 207 std::string* output); |
| 208 | 208 |
| 209 // Trims any whitespace from either end of the input string. Returns where | 209 // Trims any whitespace from either end of the input string. |
| 210 // whitespace was found. | 210 // |
| 211 // The non-wide version has two functions: | 211 // The StringPiece versions return a substring referencing the input buffer. |
| 212 // * TrimWhitespaceASCII() | 212 // The ASCII versions look only for ASCII whitespace. |
| 213 // This function is for ASCII strings and only looks for ASCII whitespace; | 213 // |
| 214 // Please choose the best one according to your usage. | 214 // The std::string versions return where whitespace was found. |
| 215 // NOTE: Safe to use the same variable for both input and output. | 215 // NOTE: Safe to use the same variable for both input and output. |
| 216 BASE_EXPORT TrimPositions TrimWhitespace(const string16& input, | 216 BASE_EXPORT TrimPositions TrimWhitespace(const string16& input, |
| 217 TrimPositions positions, | 217 TrimPositions positions, |
| 218 base::string16* output); | 218 base::string16* output); |
| 219 BASE_EXPORT StringPiece16 TrimWhitespace(StringPiece16 input, |
| 220 TrimPositions positions); |
| 219 BASE_EXPORT TrimPositions TrimWhitespaceASCII(const std::string& input, | 221 BASE_EXPORT TrimPositions TrimWhitespaceASCII(const std::string& input, |
| 220 TrimPositions positions, | 222 TrimPositions positions, |
| 221 std::string* output); | 223 std::string* output); |
| 224 BASE_EXPORT StringPiece TrimWhitespaceASCII(StringPiece input, |
| 225 TrimPositions positions); |
| 222 | 226 |
| 223 // Deprecated. This function is only for backward compatibility and calls | 227 // Deprecated. This function is only for backward compatibility and calls |
| 224 // TrimWhitespaceASCII(). | 228 // TrimWhitespaceASCII(). |
| 225 BASE_EXPORT TrimPositions TrimWhitespace(const std::string& input, | 229 BASE_EXPORT TrimPositions TrimWhitespace(const std::string& input, |
| 226 TrimPositions positions, | 230 TrimPositions positions, |
| 227 std::string* output); | 231 std::string* output); |
| 228 | 232 |
| 229 // Searches for CR or LF characters. Removes all contiguous whitespace | 233 // Searches for CR or LF characters. Removes all contiguous whitespace |
| 230 // strings that contain them. This is useful when trying to deal with text | 234 // strings that contain them. This is useful when trying to deal with text |
| 231 // copied from terminals. | 235 // copied from terminals. |
| (...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 542 // string can contain wildcards like * and ? | 546 // string can contain wildcards like * and ? |
| 543 // The backslash character (\) is an escape character for * and ? | 547 // The backslash character (\) is an escape character for * and ? |
| 544 // We limit the patterns to having a max of 16 * or ? characters. | 548 // We limit the patterns to having a max of 16 * or ? characters. |
| 545 // ? matches 0 or 1 character, while * matches 0 or more characters. | 549 // ? matches 0 or 1 character, while * matches 0 or more characters. |
| 546 BASE_EXPORT bool MatchPattern(const base::StringPiece& string, | 550 BASE_EXPORT bool MatchPattern(const base::StringPiece& string, |
| 547 const base::StringPiece& pattern); | 551 const base::StringPiece& pattern); |
| 548 BASE_EXPORT bool MatchPattern(const base::string16& string, | 552 BASE_EXPORT bool MatchPattern(const base::string16& string, |
| 549 const base::string16& pattern); | 553 const base::string16& pattern); |
| 550 | 554 |
| 551 #endif // BASE_STRINGS_STRING_UTIL_H_ | 555 #endif // BASE_STRINGS_STRING_UTIL_H_ |
| OLD | NEW |