Subgroup: String

Class: QgsStringUtils

class qgis.core.QgsStringUtils

Bases: sip.wrapper

Utility functions for working with strings.

New in version 2.11: Methods

ampersandEncode Makes a raw string safe for inclusion as a HTML/XML string literal.
capitalize Converts a string by applying capitalization rules to the string.
hammingDistance Returns the Hamming distance between two strings.
insertLinks Returns a string with any URL (e.g., http(s)/ftp) and mailto: text converted to valid HTML <a …> links.
levenshteinDistance Returns the Levenshtein edit distance between two strings.
longestCommonSubstring Returns the longest common substring between two strings.
soundex Returns the Soundex representation of a string.
wordWrap Automatically wraps a string by inserting new line characters at appropriate locations in the string.

Signals

Attributes

AllLowercase
AllUppercase
ForceFirstLetterToCapital
MixedCase
TitleCase
AllLowercase = 2
AllUppercase = 1
class Capitalization

Bases: int

ForceFirstLetterToCapital = 4
MixedCase = 0
TitleCase = 1004
ampersandEncode(string: str) → str

Makes a raw string safe for inclusion as a HTML/XML string literal.

This includes replacing ‘<’ with ‘&lt;’, ‘>’ with ‘&gt;’, ‘&’ with ‘&amp’, and any extended unicode characters with the XML style &#233; encoded versions of these characters.

New in version 3.2.

capitalize(string: str, capitalization: QgsStringUtils.Capitalization) → str

Converts a string by applying capitalization rules to the string.

Parameters:
  • string – input string
  • capitalization – capitalization type to apply
Returns:

capitalized string

New in version 3.0.

hammingDistance(string1: str, string2: str, caseSensitive: bool = False) → int

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.

Parameters:
  • string1 – first string
  • string2 – second string
  • caseSensitive – set to true for case sensitive comparison
Returns:

Hamming distance between strings, or -1 if strings are different lengths.

Returns a string with any URL (e.g., http(s)/ftp) and mailto: text converted to valid HTML <a …> links.

Parameters:
  • string – string to insert links into
  • foundLinks – if specified, will be set to true if any links were inserted into the string
Returns:

string with inserted links

New in version 3.0.

levenshteinDistance(string1: str, string2: str, caseSensitive: bool = False) → int

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.

Parameters:
  • string1 – first string
  • string2 – second string
  • caseSensitive – set to true for case sensitive comparison
Returns:

edit distance. Lower distances indicate more similar strings.

longestCommonSubstring(string1: str, string2: str, caseSensitive: bool = False) → str

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”.

Parameters:
  • string1 – first string
  • string2 – second string
  • caseSensitive – set to true for case sensitive comparison
Returns:

longest common substring

soundex(string: str) → str

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.

Parameters:string – input string
Returns:4 letter Soundex code
wordWrap(string: str, length: int, useMaxLineLength: bool = True, customDelimiter: str = '') → str

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.

New in version 3.4.