String (str)

Alle Strings haben die folgenden Methoden. Strings sind unveränderlich, alle Operationen geben ihre Ergebnisse als neuen String zurück.

Zurückgegeben von

String-Objekte werden von den folgenden Funktionen und Methoden zurückgegeben

String-Methoden

str.contains()

Gibt true zurück, wenn der String den als Argument angegebenen String enthält.

Signatur

# Returns `true` if string contains the string specified as the argument
bool contains(
  str fragment,     # The string fragment to check
)

Beispiel

target = 'x86_FreeBSD'
is_fbsd = target.to_lower().contains('freebsd')
# is_fbsd now has the boolean value 'true'

Argumente

Die Methode str.contains() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
fragment str

Das zu prüfende String-Fragment


str.endswith()

Gibt true zurück, wenn der String mit dem als Argument angegebenen String endet.

Signatur

# Returns true if string ends with the string specified as the argument
bool endswith(
  str fragment,     # The string fragment to check
)

Beispiel

target = 'x86_FreeBSD'
is_bsd = target.to_lower().endswith('bsd') # boolean value 'true'

Argumente

Die Methode str.endswith() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
fragment str

Das zu prüfende String-Fragment


str.format()

Strings können mit der String-Formatierungsfunktionalität erstellt werden.

Weitere Informationen finden Sie unter dem Meson-Syntaxeintrag.

Seit 1.3.0 sind Werte außer Strings, Ganzzahlen, Bools, Optionen, Dictionaries und Listen davon veraltet. Sie gaben zuvor die interne Darstellung des rohen Python-Objekts aus.

Signatur

# Strings can be built using the string formatting functionality
str format(
  str              fmt,       # The string to format
  int | bool | str value...,  # The values to replace the @number@ placeholders in the format string
)

Beispiel

template = 'string: @0@, number: @1@, bool: @2@'
res = template.format('text', 1, true)
# res now has value 'string: text, number: 1, bool: true'

Argumente

Die Argumentabflachung wird von dieser Funktion NICHT UNTERSTÜTZT.

Die Methode str.format() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
fmt str

Der zu formatierende String.

Die Formatierung funktioniert, indem Platzhalter vom Typ @nummer@ durch die entsprechenden Varargs ersetzt werden.

Zusätzlich akzeptiert die Methode zwischen 0 und unendlich variable Argumente (wert...) vom Typ int | bool | str.

Die Werte, die die @nummer@-Platzhalter im Format-String ersetzen.


str.join()

Das Gegenteil von split, z.B. '.'.join(['a', 'b', 'c'] ergibt 'a.b.c'.

Signatur

# The opposite of split,
str join(
  str strings...,  # The strings to join with the current string
)

Beispiel

# Similar to the Python str.join()
output = ' '.join(['foo', 'bar'])
# Output value is 'foo bar'
pathsep = ':'
path = pathsep.join(['/usr/bin', '/bin', '/usr/local/bin'])
# path now has the value '/usr/bin:/bin:/usr/local/bin'

Argumente

Die Methode akzeptiert zwischen 0 und unendlich variable Argumente (strings...) vom Typ str.

Die Strings, die mit dem aktuellen String verbunden werden sollen.

Vor Meson 0.60.0 akzeptierte diese Funktion nur ein einziges positionelles Argument vom Typ [[list[str]]].

(seit 0.60.0)


str.replace()

Sucht alle Vorkommen von alt und ersetzt sie durch neu

Signatur

(seit 0.58.0)

# Search all occurrences of `old` and replace it with `new`
str replace(
  str old,     # The substring to search
  str new,     # The replacement string
)

Beispiel

# Replaces all instances of one substring with another
s = 'semicolons;as;separators'
s = s.replace('as', 'are')
# 's' now has the value of 'semicolons;are;separators'

Argumente

Die Methode str.replace() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
alt str

Der zu suchende Teilstring

neu str

Der Ersatzstring


str.split()

Teilt den String am angegebenen Zeichen (oder Leerzeichen, wenn nicht gesetzt) und gibt die Teile in einem Array zurück.

Signatur

# Splits the string at the specified character
list[str] split(
  str [split_string],   # Specifies the character / substring where to split the string
)

Beispiel

# Similar to the Python str.split()
components = 'a b   c d '.split()
# components now has the value ['a', 'b', 'c', 'd']
components = 'a b   c d '.split(' ')
# components now has the value ['a', 'b', '', '', 'c', 'd', '']

Argumente

Die Methode str.split() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
split_string str

Gibt das Zeichen / den Teilstring an, an dem der String geteilt werden soll.

[optional]


str.splitlines()

Teilt den String in ein Array von Zeilen. Im Gegensatz zu .split('\n') erzeugt der leere String ein leeres Array, und wenn der String mit einer Zeilenumbruch endet, teilt splitlines() nicht an diesem letzten Zeilenumbruch. '\n', '\r' und '\r\n' werden alle als Zeilenumbrüche betrachtet.

Signatur

(seit 1.2.0)

list[str] splitlines()

Beispiel

output = 'hello\nworld\n'.splitlines()
# Output value is ['hello', 'world']
output = ''.splitlines()
# Output value is []
fs = import('fs')
paths = fs.read('my_paths.list').splitlines()
# paths is now the paths listed in 'my_paths.list', or an empty list
# if 'my_paths.list' is empty


str.startswith()

Gibt true zurück, wenn der String mit dem als Argument angegebenen String beginnt.

Signatur

# Returns true if string starts with the string specified as the argument
bool startswith(
  str fragment,     # The string fragment to check
)

Beispiel

target = 'x86_FreeBSD'
is_x86 = target.startswith('x86') # boolean value 'true'

Argumente

Die Methode str.startswith() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
fragment str

Das zu prüfende String-Fragment


str.strip()

Entfernt führende/endende Zeichen aus dem String.

Standardmäßig sind die zu entfernenden Zeichen Leerzeichen und Zeilenumbrüche.

Signatur

# Removes leading/ending characters from the string
str strip(
  str [strip_chars],   # Instead of whitespace, strip all the characters in this string
)

Beispiel

# Similar to the Python str.strip(). Removes leading/ending spaces and newlines
define = ' -Dsomedefine '
stripped_define = define.strip()
# 'stripped_define' now has the value '-Dsomedefine'

Argumente

Die Methode str.strip() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
strip_chars str

Anstelle von Leerzeichen werden alle Zeichen in diesem String gestrippt.

(seit 0.43.0)

[optional]


str.substring()

Gibt einen Teilstring zurück, der von start bis end angegeben ist. Beide Argumente start und end sind optional, sodass beispielsweise 'foobar'.substring() 'foobar' zurückgibt.

Die Methode akzeptiert negative Werte, wobei negative start sich auf das Ende des Strings bezieht len(string) - start, ebenso wie negative end.

Wenn start oder end außerhalb der Grenzen liegen, wird die Position des nächstgelegenen Zeichens verwendet. Wenn start größer als end ist, ist das Ergebnis ein leerer Teilstring.

Signatur

(seit 0.56.0)

# Returns a substring specified from `start` to `end`
str substring(
  int [start],   # The start position
  int [end],     # The end position
)

Beispiel

# Similar to the Python str[start:end] syntax
target = 'x86_FreeBSD'
platform = target.substring(0, 3) # prefix string value 'x86'
system = target.substring(4) # suffix string value 'FreeBSD'

Beispiel mit negativen Werten

string = 'foobar'
string.substring(-5, -3) # => 'oo'
string.substring(1, -1) # => 'ooba'

Beispiel mit Werten außerhalb der Grenzen

string = 'foobar'
string.substring(64) # => ''
string.substring(0, 64) # => 'foobar'
string.substring(64, 0) # => ''

Argumente

Die Methode str.substring() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
start int

Die Startposition

[optional]

end int

Die Endposition

[optional]


str.to_int()

Konvertiert den String in einen Integer und löst einen Fehler aus, wenn dies nicht möglich ist

Signatur

int to_int()

Beispiel

version = '1'
# Converts the string to an int and throws an error if it can't be
ver_int = version.to_int()


str.to_lower()

Konvertiert alle Zeichen in Kleinbuchstaben

Signatur

str to_lower()

Beispiel

target = 'x86_FreeBSD'
lower = target.to_lower() # t now has the value 'x86_freebsd'


str.to_upper()

Konvertiert alle Zeichen in Großbuchstaben

Signatur

str to_upper()

Beispiel

target = 'x86_FreeBSD'
upper = target.to_upper() # t now has the value 'X86_FREEBSD'


str.underscorify()

Erstellt einen String, bei dem jedes nicht-alphabetische, nicht-numerische Zeichen durch _ ersetzt wird.

Signatur

str underscorify()

Beispiel

name = 'Meson Docs.txt#Reference-manual'
# Replaces all characters other than `a-zA-Z0-9` with `_` (underscore)
# Useful for substituting into #defines, filenames, etc.
underscored = name.underscorify()
# underscored now has the value 'Meson_Docs_txt_Reference_manual'


str.version_compare()

Führt den Vergleich von semantischen Versionen durch.

Signatur

# Does semantic version comparison
bool version_compare(
  str compare_string,     # The string to compare to
)

Beispiel

version = '1.2.3'
# Compare version numbers semantically
is_new = version.version_compare('>=2.0')
# is_new now has the boolean value false
# Supports the following operators: '>', '<', '>=', '<=', '!=', '==', '='

Die Konventionen für den Meson-Versionsvergleich umfassen

'3.6'.version_compare('>=3.6.0') == false

Am besten ist es, eindeutig zu sein und die vollständige Revisionsstufe für den Vergleich anzugeben.

Argumente

Die Methode str.version_compare() akzeptiert die folgenden positionellen Argumente

Name Typ Beschreibung Schlagwörter
compare_string str

Der String, mit dem verglichen werden soll.


Die Ergebnisse der Suche sind