/usr/include/qgis/qgsstringutils.h is in libqgis-dev 2.14.11+dfsg-3+deb9u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | /***************************************************************************
qgsstringutils.h
----------------
begin : June 2015
copyright : (C) 2015 by Nyall Dawson
email : nyall dot dawson at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include <QString>
#include <QFont> // for enum values
#ifndef QGSSTRINGUTILS_H
#define QGSSTRINGUTILS_H
/** \ingroup core
* \class QgsStringUtils
* \brief Utility functions for working with strings.
* \note Added in version 2.11
*/
class CORE_EXPORT QgsStringUtils
{
public:
//! Capitalization options
enum Capitalization
{
MixedCase = QFont::MixedCase, //!< Mixed case, ie no change
AllUppercase = QFont::AllUppercase, //!< Convert all characters to uppercase
AllLowercase = QFont::AllLowercase, //!< Convert all characters to lowercase
ForceFirstLetterToCapital = QFont::Capitalize, //!< 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. Eg, 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 );
};
#endif //QGSSTRINGUTILS_H
|