mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			190 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			190 lines
		
	
	
		
			6.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
 | 
						|
 | 
						|
/** \ingroup core
 | 
						|
 * \class QgsStringReplacement
 | 
						|
 * \brief A representation of a single string replacement.
 | 
						|
 * \note Added in version 3.0
 | 
						|
 */
 | 
						|
 | 
						|
class QgsStringReplacement
 | 
						|
{
 | 
						|
%TypeHeaderCode
 | 
						|
#include <qgsstringutils.h>
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    /** Constructor for QgsStringReplacement.
 | 
						|
     * @param match string to match
 | 
						|
     * @param replacement string to replace match with
 | 
						|
     * @param caseSensitive set to true for a case sensitive match
 | 
						|
     * @param wholeWordOnly set to true to match complete words only, or false to allow partial word matches
 | 
						|
     */
 | 
						|
    QgsStringReplacement( const QString& match,
 | 
						|
                          const QString& replacement,
 | 
						|
                          bool caseSensitive = false,
 | 
						|
                          bool wholeWordOnly = false );
 | 
						|
 | 
						|
    //! Returns the string matched by this object
 | 
						|
    QString match() const;
 | 
						|
 | 
						|
    //! Returns the string to replace matches with
 | 
						|
    QString replacement() const;
 | 
						|
 | 
						|
    //! Returns true if match is case sensitive
 | 
						|
    bool caseSensitive() const;
 | 
						|
 | 
						|
    //! Returns true if match only applies to whole words, or false if partial word matches are permitted
 | 
						|
    bool wholeWordOnly() const;
 | 
						|
 | 
						|
    /** Processes a given input string, applying any valid replacements which should be made.
 | 
						|
     * @param input input string
 | 
						|
     * @returns input string with any matches replaced by replacement string
 | 
						|
     */
 | 
						|
    QString process( const QString &input ) const;
 | 
						|
 | 
						|
    bool operator==( const QgsStringReplacement &other );
 | 
						|
 | 
						|
    /** Returns a map of the replacement properties.
 | 
						|
     * @see fromProperties()
 | 
						|
     */
 | 
						|
    QgsStringMap properties() const;
 | 
						|
 | 
						|
    /** Creates a new QgsStringReplacement from an encoded properties map.
 | 
						|
     * @see properties()
 | 
						|
     */
 | 
						|
    static QgsStringReplacement fromProperties( const QgsStringMap &properties );
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/** \ingroup core
 | 
						|
 * \class QgsStringReplacementCollection
 | 
						|
 * \brief A collection of string replacements (specified using QgsStringReplacement objects).
 | 
						|
 * \note Added in version 3.0
 | 
						|
 */
 | 
						|
 | 
						|
class QgsStringReplacementCollection
 | 
						|
{
 | 
						|
%TypeHeaderCode
 | 
						|
#include <qgsstringutils.h>
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
    /** Constructor for QgsStringReplacementCollection
 | 
						|
     * @param replacements initial list of string replacements
 | 
						|
     */
 | 
						|
    QgsStringReplacementCollection( const QList< QgsStringReplacement > &replacements = QList< QgsStringReplacement >() );
 | 
						|
 | 
						|
    /** Returns the list of string replacements in this collection.
 | 
						|
     * @see setReplacements()
 | 
						|
     */
 | 
						|
    QList< QgsStringReplacement > replacements() const;
 | 
						|
 | 
						|
    /** Sets the list of string replacements in this collection.
 | 
						|
     * @param replacements list of string replacements to apply. Replacements are applied in the
 | 
						|
     * order they are specified here.
 | 
						|
     * @see replacements()
 | 
						|
     */
 | 
						|
    void setReplacements( const QList< QgsStringReplacement > &replacements );
 | 
						|
 | 
						|
    /** Processes a given input string, applying any valid replacements which should be made
 | 
						|
     * using QgsStringReplacement objects contained by this collection. Replacements
 | 
						|
     * are made in order of the QgsStringReplacement objects contained in the collection.
 | 
						|
     * @param input input string
 | 
						|
     * @returns input string with any matches replaced by replacement string
 | 
						|
     */
 | 
						|
    QString process( const QString &input ) const;
 | 
						|
 | 
						|
    /** Writes the collection state to an XML element.
 | 
						|
     * @param elem target DOM element
 | 
						|
     * @param doc DOM document
 | 
						|
     * @see readXml()
 | 
						|
     */
 | 
						|
    void writeXml( QDomElement &elem, QDomDocument &doc ) const;
 | 
						|
 | 
						|
    /** Reads the collection state from an XML element.
 | 
						|
     * @param elem DOM element
 | 
						|
     * @see writeXml()
 | 
						|
     */
 | 
						|
    void readXml( const QDomElement &elem );
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/** \ingroup core
 | 
						|
 * \class QgsStringUtils
 | 
						|
 * \brief Utility functions for working with strings.
 | 
						|
 * \note Added in version 2.11
 | 
						|
 */
 | 
						|
 | 
						|
class QgsStringUtils
 | 
						|
{
 | 
						|
%TypeHeaderCode
 | 
						|
#include <qgsstringutils.h>
 | 
						|
%End
 | 
						|
  public:
 | 
						|
 | 
						|
 | 
						|
    //! Capitalization options
 | 
						|
    enum Capitalization
 | 
						|
    {
 | 
						|
      MixedCase, //!< Mixed case, ie no change
 | 
						|
      AllUppercase, //!< Convert all characters to uppercase
 | 
						|
      AllLowercase,  //!< Convert all characters to lowercase
 | 
						|
      ForceFirstLetterToCapital, //!< Convert just the first letter of each word to uppercase, leave the rest untouched
 | 
						|
    };
 | 
						|
 | 
						|
    /** Converts a string by applying capitalization rules to the string.
 | 
						|
     * @param string input string
 | 
						|
     * @param capitalization capitalization type to apply
 | 
						|
     * @return capitalized string
 | 
						|
     * @note added in QGIS 3.0
 | 
						|
     */
 | 
						|
    static QString capitalize( const QString &string, Capitalization capitalization );
 | 
						|
 | 
						|
    /** 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.
 | 
						|
     * @param string1 first string
 | 
						|
     * @param string2 second string
 | 
						|
     * @param caseSensitive set to true for case sensitive comparison
 | 
						|
     * @returns edit distance. Lower distances indicate more similar strings.
 | 
						|
     */
 | 
						|
    static int levenshteinDistance( const QString &string1, const QString &string2, bool caseSensitive = false );
 | 
						|
 | 
						|
    /** 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".
 | 
						|
     * @param string1 first string
 | 
						|
     * @param string2 second string
 | 
						|
     * @param caseSensitive set to true for case sensitive comparison
 | 
						|
     * @returns longest common substring
 | 
						|
     */
 | 
						|
    static QString longestCommonSubstring( const QString &string1, const QString &string2, bool caseSensitive = false );
 | 
						|
 | 
						|
    /** 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.
 | 
						|
     * @param string1 first string
 | 
						|
     * @param string2 second string
 | 
						|
     * @param caseSensitive set to true for case sensitive comparison
 | 
						|
     * @returns Hamming distance between strings, or -1 if strings are different lengths.
 | 
						|
     */
 | 
						|
    static int hammingDistance( const QString &string1, const QString &string2, bool caseSensitive = false );
 | 
						|
 | 
						|
    /** 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.
 | 
						|
     * @param string input string
 | 
						|
     * @returns 4 letter Soundex code
 | 
						|
     */
 | 
						|
    static QString soundex( const QString &string );
 | 
						|
 | 
						|
    /** Returns a string with any URL (e.g., http(s)/ftp) and mailto: text converted to valid HTML <a ...>
 | 
						|
     * links.
 | 
						|
     * @param string string to insert links into
 | 
						|
     * @param foundLinks if specified, will be set to true if any links were inserted into the string
 | 
						|
     * @returns string with inserted links
 | 
						|
     * @note added in QGIS 3.0
 | 
						|
     */
 | 
						|
    static QString insertLinks( const QString &string, bool *foundLinks = 0 );
 | 
						|
};
 |