|
QGIS API Documentation 3.99.0-Master (a8882ad4560)
|
Utility functions for working with strings. More...
#include <qgsstringutils.h>
Static Public Member Functions | |
| static QString | ampersandEncode (const QString &string) |
| Makes a raw string safe for inclusion as a HTML/XML string literal. | |
| static QString | capitalize (const QString &string, Qgis::Capitalization capitalization) |
| Converts a string by applying capitalization rules to the string. | |
| static bool | containsByWord (const QString &candidate, const QString &words, Qt::CaseSensitivity sensitivity=Qt::CaseInsensitive) |
Given a candidate string, returns true if the candidate contains all the individual words from another string, regardless of their order. | |
| static QHash< QString, QString > | createUnaccentMap () |
| Generates the unaccent mapping table (auto-generated by script at build time). | |
| static double | fuzzyScore (const QString &candidate, const QString &search) |
| Tests a candidate string to see how likely it is a match for a specified search string. | |
| static int | hammingDistance (const QString &string1, const QString &string2, bool caseSensitive=false) |
| Returns the Hamming distance between two strings. | |
| static QString | htmlToMarkdown (const QString &html) |
| Convert simple HTML to markdown. | |
| static QString | insertLinks (const QString &string, bool *foundLinks=nullptr) |
| Returns a string with any URL (e.g., http(s)/ftp) and mailto: text converted to valid HTML <a ...> links. | |
| static bool | isUrl (const QString &string) |
| Returns whether the string is a URL (http,https,ftp,file). | |
| static int | levenshteinDistance (const QString &string1, const QString &string2, bool caseSensitive=false) |
| Returns the Levenshtein edit distance between two strings. | |
| static QString | longestCommonSubstring (const QString &string1, const QString &string2, bool caseSensitive=false) |
| Returns the longest common substring between two strings. | |
| static QString | qRegExpEscape (const QString &string) |
| Returns an escaped string matching the behavior of QRegExp::escape. | |
| static QString | soundex (const QString &string) |
| Returns the Soundex representation of a string. | |
| static QString | substituteVerticalCharacters (QString string) |
| Returns a string with characters having vertical representation form substituted. | |
| static QString | truncateMiddleOfString (const QString &string, int maxLength) |
| Truncates a string to the specified maximum character length. | |
| static QString | unaccent (const QString &input) |
| Removes accents and other diacritical marks from a string, replacing accented characters with their unaccented ASCII equivalents. | |
| static QString | wordWrap (const QString &string, int length, bool useMaxLineLength=true, const QString &customDelimiter=QString()) |
| Automatically wraps a string by inserting new line characters at appropriate locations in the string. | |
Static Public Attributes | |
| static QHash< QString, QString > | UNACCENT_MAP = QgsStringUtils::createUnaccentMap() |
| Lookup table used by unaccent(). | |
Utility functions for working with strings.
Definition at line 180 of file qgsstringutils.h.
|
static |
Makes a raw string safe for inclusion as a HTML/XML string literal.
This includes replacing '<' with '<', '>' with '>', '&' with '&', and any extended unicode characters with the XML style é encoded versions of these characters.
Definition at line 159 of file qgsstringutils.cpp.
|
static |
Converts a string by applying capitalization rules to the string.
| string | input string |
| capitalization | capitalization type to apply |
Definition at line 69 of file qgsstringutils.cpp.
|
static |
Given a candidate string, returns true if the candidate contains all the individual words from another string, regardless of their order.
true for words "winkle world"Definition at line 789 of file qgsstringutils.cpp.
|
static |
Generates the unaccent mapping table (auto-generated by script at build time).
This function creates a hash map from the unaccent rules file (resources/unaccent.rules), which is derived from PostgreSQL's contrib/unaccent module.
Definition at line 35 of file qgsunaccentrules.cpp.
|
static |
Tests a candidate string to see how likely it is a match for a specified search string.
Values are normalized between 0 and 1.
| candidate | candidate string |
| search | search term string |
Definition at line 458 of file qgsstringutils.cpp.
|
static |
Returns the Hamming distance between two strings.
This equates to the number of characters at corresponding positions within the input strings where the characters are different. The input strings must be the same length.
| string1 | first string |
| string2 | second string |
| caseSensitive | set to true for case sensitive comparison |
Definition at line 323 of file qgsstringutils.cpp.
|
static |
Convert simple HTML to markdown.
Only br, b and link are supported.
| html | HTML to convert to markdown |
Definition at line 614 of file qgsstringutils.cpp.
|
static |
Returns a string with any URL (e.g., http(s)/ftp) and mailto: text converted to valid HTML <a ...> links.
| string | string to insert links into |
| foundLinks | if specified, will be set to true if any links were inserted into the string |
Definition at line 562 of file qgsstringutils.cpp.
|
static |
Returns whether the string is a URL (http,https,ftp,file).
| string | the string to check |
Definition at line 608 of file qgsstringutils.cpp.
|
static |
Returns the Levenshtein edit distance between two strings.
This equates to the minimum number of character edits (insertions, deletions or substitutions) required to change one string to another.
| string1 | first string |
| string2 | second string |
| caseSensitive | set to true for case sensitive comparison |
Definition at line 179 of file qgsstringutils.cpp.
|
static |
Returns the longest common substring between two strings.
This substring is the longest string that is a substring of the two input strings. For example, the longest common substring of "ABABC" and "BABCA" is "ABC".
| string1 | first string |
| string2 | second string |
| caseSensitive | set to true for case sensitive comparison |
Definition at line 260 of file qgsstringutils.cpp.
|
static |
Returns an escaped string matching the behavior of QRegExp::escape.
| string | String to escape |
Definition at line 742 of file qgsstringutils.cpp.
|
static |
Returns the Soundex representation of a string.
Soundex is a phonetic matching algorithm, so strings with similar sounds should be represented by the same Soundex code.
| string | input string |
Definition at line 362 of file qgsstringutils.cpp.
|
static |
Returns a string with characters having vertical representation form substituted.
| string | input string |
Definition at line 720 of file qgsstringutils.cpp.
|
static |
Truncates a string to the specified maximum character length.
If the string exceeds the maximum character length, then the string will be truncated by removing characters from the middle of the string and replacing them with a horizontal ellipsis character.
Definition at line 775 of file qgsstringutils.cpp.
|
static |
Removes accents and other diacritical marks from a string, replacing accented characters with their unaccented ASCII equivalents.
This function uses a comprehensive mapping table derived from PostgreSQL's contrib/unaccent module, ensuring compatibility with PostgreSQL's unaccent() function. The implementation:
Common use cases:
| input | string to remove accents from |
Example usage:
Definition at line 29 of file qgsstringutils.cpp.
|
static |
Automatically wraps a string by inserting new line characters at appropriate locations in the string.
The length argument specifies either the minimum or maximum length of lines desired, depending on whether useMaxLineLength is true. If useMaxLineLength is TRUE, then the string will be wrapped so that each line ideally will not exceed length of characters. If useMaxLineLength is false, then the string will be wrapped so that each line will ideally exceed length of characters.
A custom delimiter can be specified to use instead of space characters.
Definition at line 642 of file qgsstringutils.cpp.
|
static |
Lookup table used by unaccent().
Generated at build time from PostgreSQL's unaccent rules.
This hash map contains mappings from accented/special characters to their ASCII equivalents. The table includes:
Definition at line 359 of file qgsstringutils.h.