yast2 |
modules/String.ycp |
String manipulation routines | |
|
|
This module has an unstable interface. |
Quote a string with 's
More precisely it protects single quotes inside the string but does not prepend or append single quotes.
- Parameters:
-
var unquoted string
- Return value:
-
quoted string
- Example
-
quote("a'b") -> "a'\''b"
Unquote a string with 's (quoted with quote)
- Parameters:
-
var quoted string
- Return value:
-
unquoted string
- See
-
quote
Optional formatted text
- Parameters:
-
f s
- Return value:
-
sformat (f, s) if s is neither empty or nil, else ""
Optional parenthesized text
- Parameters:
-
s
- Return value:
-
" (Foo)" if Foo is neither empty or nil, else ""
- Parameters:
-
l a list of strings
- Return value:
-
only non-"" items
- Parameters:
-
s \n-terminated items
- Return value:
-
the items as a list, with empty lines removed
Return a pretty description of a byte count
Return a pretty description of a byte count with required precision and using B, kB, MB, GB or TB as unit as appropriate.
Uses the current locale defined decimal separator (i.e. the result is language dependant).
- Parameters:
-
bytes size (e.g. free diskspace, memory size) in Bytes precision number of fraction digits in output omit_zeroes if true then do not add zeroes (useful for memory size - 128 MB RAM looks better than 128.00 MB RAM)
- Return value:
-
formatted string
- Example
-
FormatSizeWithPrecision(128, 2, true) -> "128 B" FormatSizeWithPrecision(4096, 2, true) -> "4 kB" FormatSizeWithPrecision(4096, 2, false) -> "4.00 kB" FormatSizeWithPrecision(1024*1024, 2, true) -> "1 MB"
Return a pretty description of a byte count
Return a pretty description of a byte count, with two fraction digits and using B, kB, MB, GB or TB as unit as appropriate.
Uses the current locale defined decimal separator (i.e. the result is language dependant).
- Parameters:
-
bytes size (e.g. free diskspace) in Bytes
- Return value:
-
formatted string
- Example
-
FormatSize(23456767890) -> "223.70 MB"
Return a pretty description of a download rate
Return a pretty description of a download rate, with two fraction digits and using B/s, kB/s, MB/s, GB/s or TB/s as unit as appropriate.
- Parameters:
-
bytes_per_second download rate (in B/s)
- Return value:
-
formatted string
- Example
-
FormatRate(6780) -> "" FormatRate(0) -> "" FormatRate(895321) -> ""
Add a download rate status to a message.
Add the current and the average download rate to the message.
- Parameters:
-
text the message with %1 placeholder for the download rate string avg_bps average download rate (in B/s) curr_bps current download rate (in B/s)
- Return value:
-
formatted message
Format an integer number as (at least) two digits; use leading zeroes if necessary.
- Parameters:
-
x input
- Return value:
-
number as two-digit string
Format an integer seconds value with min:sec or hours:min:sec
- Parameters:
-
seconds time (in seconds)
- Return value:
-
formatted string (empty for negative values)
Remove blanks at begin and end of input string.
- Parameters:
-
input string to be stripped
- Return value:
-
stripped string
- Example
-
CutBlanks(" any input ") -> "any input"
Remove any leading zeros
Remove any leading zeros that make tointeger inadvertently assume an octal number (e.g. "09" -> "9", "0001" -> "1", but "0" -> "0")
- Parameters:
-
input number that might contain leadig zero
- Return value:
-
that has leading zeros removed
Add spaces after the text to make it long enough
Add spaces after the text to make it long enough. If the text is longer than requested, no changes are made.
- Parameters:
-
text text to be padded length requested length
- Return value:
-
padded text
Add zeros before the text to make it long enough.
Add zeros before the text to make it long enough. If the text is longer than requested, no changes are made.
- Parameters:
-
text text to be padded length requested length
- Return value:
-
padded text
Parse string of values
- Parameters:
-
options Input string parameters Parmeter used at parsing - map with keys: "separator": - value separator (default: " \t"), "unique": - result will not contain any duplicates, first occurance of the string is stored into output (default: false), "interpret_backslash": - convert backslash sequence into one character (e.g. "\\n" => "\n") (default: true) "remove_whitespace": - remove white spaces around values (default: true),
- Return value:
-
List of strings
Remove first or every match of given regular expression from a string
(e.g. CutRegexMatch( "abcdef12ef34gh000", "[0-9]+", true ) -> "abcdefefgh", CutRegexMatch( "abcdef12ef34gh000", "[0-9]+", false ) -> "abcdefef34gh000")
- Parameters:
-
input string that might occur regex regex regular expression to search for, must not contain brackets glob flag if only first or every occuring match should be removed
- Return value:
-
that has matches removed
Function for escaping (replacing) (HTML|XML...) tags with their (HTML|XML...) meaning.
Usable to present text "as is" in RichText.
- Parameters:
-
text
- Return value:
-
escaped text
Shorthand for select (splitstring (s, separators), 0, "") Useful now that the above produces a deprecation warning.
- Parameters:
-
s string to be split separators characters which delimit components
- Return value:
-
first component or ""
The 26 uppercase ASCII letters
The 26 lowercase ASCII letters
The 52 upper and lowercase ASCII letters
Digits: 0123456789
Hexadecimal digits: 0123456789ABCDEFabcdef
The 62 upper and lowercase ASCII letters and digits
The ASCII printable non-blank non-alphanumeric characters
Printable ASCII charcters except whitespace, 33-126
ASCII whitespace: SPACE CR LF HT VT FF
Printable ASCII characters including whitespace
Characters valid in a filename (not pathname). Naturally "/" is disallowed. Otherwise, the graphical ASCII characters are allowed.
- Return value:
-
for ValidChars
Function creates text table without using HTML tags. (Useful for commandline) Undefined option uses the default one.
- Parameters:
-
header items options
- Return value:
-
table Header: [ "Id", "Configuration", "Device" ] Items: [ [ "1", "aaa", "Samsung Calex" ], [ "2", "bbb", "Trivial Trinitron" ] ] Possible Options: horizontal_padding (for columns), table_left_padding (for table)
Function returns underlined text header without using HTML tags. (Useful for commandline)
- Parameters:
-
header_line left_padding
- Return value:
-
underlined header line
Get metadata lines from input string
- Parameters:
-
input Input string - complete comment of a sysconfig variable
- Return value:
-
Metadata lines in list
Get comment without metadata
- Parameters:
-
input Input string - complete comment of a sysconfig variable
- Return value:
-
Comment used as variable description
Parse metadata from a sysconfig comment
- Parameters:
-
comment comment of a sysconfig variable (single line or multiline string)
- Return value:
-
parsed metadata
Replace substring in a string. All substrings source are replaced by string target.
- Parameters:
-
s input string source the string which will be replaced target the new string which is used instead of source
- Return value:
-
result
Returns text wrapped at defined margin. Very useful for translated strings used for pop-up windows or dialogs where you can't know the width. It controls the maximum width of the string so the text should allways fit into the minimal ncurses window. If you expect some long words, such us URLs or words with a hyphen inside, you can also set the additional split-characters to "/-". Then the function can wrap the word also after these characters. This function description was wrapped using the function String::WrapAt().
- Parameters:
-
text width split_string
- Return value:
-
wrapped string
- Example
-
String::WrapAt("Some very long text",30,"/-");
Make a random base-36 number. srandom should be called beforehand.
- Parameters:
-
len string length
- Return value:
-
random string of 0-9 and a-z
Format file name - truncate the middle part of the directory to fit to the reqested lenght. Path elements in the middle of the string are replaced by ellipsis (...). The result migth be longer that requested size if size of the last element (with ellipsis) is longer than the requested size. If the requested size is greater than size of the input then the string is not modified. The last part (file name) is never removed.
- Parameters:
-
file_path file name len requested maximum lenght of the output
- Return value:
-
Truncated file name
- Example
-
FormatFilename("/really/very/long/file/name", 15) -> "/.../file/name" FormatFilename("/really/very/long/file/name", 5) -> ".../name" FormatFilename("/really/very/long/file/name", 100) -> "/really/very/long/file/name"
Remove a shortcut from a label, so that it can be inserted into help to avoid risk of different translation of the label
- Parameters:
-
label string a label possibly including a shortcut
- Return value:
-
the label without the shortcut mark
Checks whether string str starts with test.
- Parameters:
-
str test