open_iA 2023.02
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
Loading...
Searching...
No Matches
Functions
iAStringHelper.cpp File Reference
#include "iAStringHelper.h"
#include "iAMathUtility.h"
#include <QRegularExpression>

Functions

QString dblToStringWithUnits (double value, double switchFactor)
 returns the value converted to string, with units (K, M, G, T, P) applied for every 10³ factor over 1000
 
int digitsAfterComma (double resolvableDiff)
 Get the number of digits required after the comma, given the difference to other values it should be distinguishable from.
 
QString greatestCommonPrefix (QString const &str1, QString const &str2)
 
int greatestCommonPrefixLength (QString const &str1, QString const &str2)
 Find the (length of the) greatest common prefix of the two given strings.
 
QString greatestCommonSuffix (QString const &str1, QString const &str2)
 
int greatestCommonSuffixLength (QString const &str1, QString const &str2)
 
QString joinQVariantAsString (QVector< QVariant > const &vec, QString const &joinStr)
 
iAbase_API std::string joinStdString (std::vector< std::string > &vec, std::string const &joinStr)
 join a vector of std::strings into one single string
 
QString padOrTruncate (QString const &str, int size)
 Pads or truncates the given string to the given size.
 
QString quoteString (QString const &str)
 
int requiredDigits (double value)
 Get the number of digits required for the given number (before the comma).
 
QStringList splitPossiblyQuotedString (QString const &str)
 split a string at the space characters, while correctly treating quoted elements
 
QString stripHTML (QString const &html)
 strip HTML tags from the given string
 

Function Documentation

◆ dblToStringWithUnits()

QString dblToStringWithUnits ( double  value,
double  switchFactor = 999 
)

returns the value converted to string, with units (K, M, G, T, P) applied for every 10³ factor over 1000

Parameters
valuethe value to convert to a string
switchFactorthe multiple of the "base unit" under which to switch to next lower unit; example: if value = 0.101 and switchFactor is at default 100, the returned string will be "0.1" with the same value and a switchFactor of 102 (or any other value larger than 101), the result will be 101m

◆ digitsAfterComma()

int digitsAfterComma ( double  resolvableDiff)

Get the number of digits required after the comma, given the difference to other values it should be distinguishable from.

TODO: introduce "number of relevant digits" parameter / automatic determination? e.g. 9.125 -> 3, 9.98 -> 2, 9.5 -> 1; but what about e.g. 9.995 (->close enough to 10 to discard after comma?) Examples: resolvableDiff result >= 10 0 9.9999 - 1.0 0-1 (0 if resolvableDiff is exactly 1,6,4,... depending on whether resolvableDiff is 1.2,6.323, or ) 0.9999 - 0.1 1-2 (depending on whether resolvableDiff is 0.15,0.22,0.9333,... or exactly 0.1,0.4,...) 0.0999 - 0.01 2-3 0.0099 - 0.001 3-4

◆ greatestCommonPrefix()

QString greatestCommonPrefix ( QString const &  str1,
QString const &  str2 
)

◆ greatestCommonPrefixLength()

int greatestCommonPrefixLength ( QString const &  str1,
QString const &  str2 
)

Find the (length of the) greatest common prefix of the two given strings.

example: str1 ="BaseMethod", str2="BaseMember" => result: "BaseMe"

◆ greatestCommonSuffix()

QString greatestCommonSuffix ( QString const &  str1,
QString const &  str2 
)

◆ greatestCommonSuffixLength()

int greatestCommonSuffixLength ( QString const &  str1,
QString const &  str2 
)

◆ joinQVariantAsString()

QString joinQVariantAsString ( QVector< QVariant > const &  vec,
QString const &  joinStr 
)

◆ joinStdString()

iAbase_API std::string joinStdString ( std::vector< std::string > &  vec,
std::string const &  joinStr 
)

join a vector of std::strings into one single string

◆ padOrTruncate()

QString padOrTruncate ( QString const &  str,
int  size 
)

Pads or truncates the given string to the given size.

If the string given in name is longer than the specified size, the string is truncated to size-2 and ".." is appended, otherwise it is filled with spaces to be exactly size long

Parameters
strthe string to be padded or truncated
sizethe size that the return string should have
Returns
a string of exactly the given size, padded or truncated from the given name

◆ quoteString()

QString quoteString ( QString const &  str)

◆ requiredDigits()

int requiredDigits ( double  value)

Get the number of digits required for the given number (before the comma).

◆ splitPossiblyQuotedString()

QStringList splitPossiblyQuotedString ( QString const &  str)

split a string at the space characters, while correctly treating quoted elements

Example: the string '"a rabbit" and "a horse"' would be split into three elements: "a rabbit", "and", "a horse" (the quotes are stripped from the elements). Note that only the double-quote character is considered as a quote by this function.

Parameters
strthe string to split
Returns
a list of strings split up at the whitespaces

◆ stripHTML()

QString stripHTML ( QString const &  html)

strip HTML tags from the given string

Parameters
htmla string potentially containing HTML tags
Returns
the input string with all HTML tags (<xyz>, </xyz>, <xyz/>) removed