Heim > Backend-Entwicklung > Python-Tutorial > Wie teilt man in Python eine Zeichenfolge mit mehreren Trennzeichen auf?

Wie teilt man in Python eine Zeichenfolge mit mehreren Trennzeichen auf?

WBOY
Freigeben: 2023-05-09 19:25:06
nach vorne
2606 Leute haben es durchsucht

So teilen Sie eine Zeichenfolge mit mehreren Trennzeichen auf:

Verwenden Sie die Methode re.split(), zum Beispiel re.split(r',|-', my_str). Die Methode re.split() 方法,例如 re.split(r',|-', my_str)

re.split() 方法将拆分所有出现的分隔符之一的字符串。

import re
# ????️ 用 2 个分隔符拆分字符串
my_str = 'fql,jiyik-dot,com'
my_list = re.split(r',|-', my_str)  # ????️ 以逗号或连字符分隔
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']
Nach dem Login kopieren

re.split 方法接受一个模式和一个字符串,并在每次出现该模式时拆分字符串。

管道 | 字符是一个或。 匹配 A 或 B。

该示例使用 2 个分隔符(逗号和连字符)拆分字符串。

# ????️ 用 3 个分隔符拆分字符串
my_str = 'fql,jiyik-dot:com'
my_list = re.split(r',|-|:', my_str)  # ????️ comma, hyphen or colon
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']
Nach dem Login kopieren

下面是一个使用 3 个分隔符(逗号、连字符和冒号)拆分字符串的示例。

我们可以使用尽可能多的 | 正则表达式中必要的字符。

使用方括号 [] 根据多个定界符拆分字符串

或者,我们可以使用方括号 [] 来指示一组字符。

import re
my_str = 'fql,jiyik-dot,com'
my_list = re.split(r'[,-]', my_str)
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']
Nach dem Login kopieren

Wie teilt man in Python eine Zeichenfolge mit mehreren Trennzeichen auf?

确保在方括号之间添加所有分隔符。

import re
# ????️ 用 3 个分隔符拆分字符串
my_str = 'fql,jiyik-dot:com'
my_list = re.split(r'[,-:]', my_str) # 以逗号、连字符、冒号分割
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']
Nach dem Login kopieren

如果字符串以其中一个定界符开头或结尾,我们可能会在输出列表中得到空字符串值。

处理前导或尾随定界符

我们可以使用列表理解从列表中删除任何空字符串。

import re

# ????️ 用 3 个分隔符拆分字符串
my_str = ',fql,jiyik-dot:com:'

my_list = [
    item for item in re.split(r'[,-:]', my_str)
    if item
]

print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']
Nach dem Login kopieren

列表推导负责从列表中删除空字符串。

列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。

另一种方法是使用 str.replace() 方法。

使用 str.replace() 拆分具有多个定界符的字符串

要使用多个定界符拆分字符串:

  • 使用 str.replace() 方法将第一个分隔符替换为第二个分隔符。

  • 使用 str.split() 方法按第二个分隔符拆分字符串。

my_str = 'fql_jiyik!dot_com'
my_list = my_str.replace('_', '!').split('!')
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com']
Nach dem Login kopieren

这种方法仅在您想要拆分的分隔符很少时才方便,例如 2.

首先,我们用第二个分隔符替换每个出现的第一个分隔符,然后我们拆分第二个分隔符。

str.replace 方法返回字符串的副本,其中所有出现的子字符串都被提供的替换项替换。

该方法采用以下参数:

  • old 字符串中我们要替换的子串

  • new 替换每次出现的 old

  • count 仅替换第一个 count 出现(可选)

请注意 ,该方法不会更改原始字符串。 字符串在 Python 中是不可变的。

这是另一个例子。

my_str = 'fql jiyik, dot # com. abc'

my_list = my_str.replace(
    ',', '').replace(
    '#', '').replace('.', '').split()

print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']
Nach dem Login kopieren

我们使用 str.replace() 方法在拆分空白字符的字符串之前删除标点符号。

我们使用空字符串进行替换,因为我们要删除指定的字符。

我们可以根据需要将尽可能多的调用链接到 str.replace() 方法。

最后一步是使用 str.split() 方法将字符串拆分为单词列表。

str.split() 方法使用定界符将字符串拆分为子字符串列表。

该方法采用以下 2 个参数:

  • separator 在每次出现分隔符时将字符串拆分为子字符串

  • maxsplit 最多完成 maxsplit 拆分(可选)

当没有分隔符传递给 str.split() 方法时,它会将输入字符串拆分为一个或多个空白字符。

my_str = 'fql jiyik com'
print(my_str.split())  # ????️ ['fql', 'jiyik', 'com']
Nach dem Login kopieren

如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。

使用可重用函数根据多个定界符拆分字符串

如果我们需要经常根据多个分隔符拆分字符串,请定义一个可重用的函数。

import re

def split_multiple(string, delimiters):
    pattern = '|'.join(map(re.escape, delimiters))

    return re.split(pattern, string)

my_str = 'fql,jiyik-dot:com'

print(split_multiple(my_str, [',', '-', ':']))
Nach dem Login kopieren

split_multiple 函数接受一个字符串和一个分隔符列表,并根据分隔符拆分字符串。

str.join() 方法用于将分隔符与管道 | 连接起来。 分隔器。

# ????️ ,|-|:
print('|'.join([',', '-', ':']))
Nach dem Login kopieren

这将创建一个正则表达式模式,我们可以使用该模式根据指定的分隔符拆分字符串。

如果我们需要将一个字符串拆分为多个分隔符的单词列表,我们还可以使用 re.findall() 方法。

使用 re.findall() 将字符串拆分为单词列表

使用 re.findall() 方法将字符串拆分为具有多个分隔符的单词列表。

re.findall() 方法将在每次出现单词时拆分字符串,并返回包含单词的列表。

import re

# ✅ 将字符串拆分为具有多个分隔符的单词列表
my_str = 'fql jiyik, dot # com. abc'

my_list = re.findall(r'[\w]+', my_str)
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']
Nach dem Login kopieren

re.findall

re.split() teilt alle Vorkommen einer Zeichenfolge mit einem der Trennzeichen auf. Die Methode 🎜
import re

my_str = 'fql jiyik, dot # com. abc'

my_list = re.findall(r'[\w]+', my_str)
print(my_list)  # ????️ ['fql', 'jiyik', 'dot', 'com', 'abc']
Nach dem Login kopieren
Nach dem Login kopieren
🎜re.split akzeptiert ein Muster und eine Zeichenfolge und teilt die Zeichenfolge jedes Mal, wenn das Muster auftritt. 🎜🎜Pipe-Zeichen ist ein oder. Entspricht A oder B. 🎜🎜In diesem Beispiel wird eine Zeichenfolge mithilfe von zwei Trennzeichen (Komma und Bindestrich) aufgeteilt. 🎜rrreee🎜Hier ist ein Beispiel für die Aufteilung einer Zeichenfolge mithilfe von 3 Trennzeichen (Komma, Bindestrich und Doppelpunkt). 🎜🎜Wir können im regulären Ausdruck so viele |-Zeichen wie nötig verwenden. 🎜

Verwenden Sie eckige Klammern [], um eine Zeichenfolge basierend auf mehreren Trennzeichen aufzuteilen

🎜Alternativ können wir eckige Klammern [] verwenden, um eine Gruppe von Zeichen anzugeben. 🎜rrreee🎜So teilen Sie eine Zeichenfolge mit mehreren Trennzeichen in Python🎜🎜 Achten Sie darauf, alle Trennzeichen zwischen eckigen Klammern einzufügen. 🎜rrreee🎜Wenn die Zeichenfolge mit einem dieser Trennzeichen beginnt oder endet, erhalten wir möglicherweise leere Zeichenfolgenwerte in der Ausgabeliste. 🎜

Umgang mit führenden oder nachgestellten Trennzeichen

🎜Wir können das Listenverständnis nutzen, um jede leere Zeichenfolge aus der Liste zu entfernen. 🎜rrreee🎜Das Listenverständnis ist dafür verantwortlich, leere Zeichenfolgen aus einer Liste zu entfernen. 🎜
🎜Listenverständnisse werden verwendet, um bestimmte Operationen für jedes Element auszuführen oder eine Teilmenge von Elementen auszuwählen, die eine Bedingung erfüllen. 🎜
🎜Eine andere Möglichkeit ist die Verwendung der Methode str.replace(). 🎜

Teilen Sie eine Zeichenfolge mit mehreren Trennzeichen mit str.replace()

🎜So teilen Sie eine Zeichenfolge mit mehreren Trennzeichen auf: 🎜
  • 🎜Verwenden Sie den str.replace()-Methode, um das erste Trennzeichen durch das zweite Trennzeichen zu ersetzen. 🎜
  • 🎜Verwenden Sie die Methode str.split(), um die Zeichenfolge durch das zweite Trennzeichen zu teilen. 🎜
rrreee
🎜Diese Methode ist nur praktisch, wenn Sie mit wenigen Trennzeichen wie 2 teilen möchten.🎜
🎜Zuerst begrenzen wir mit dem zweiten Zeichen, das jedes Vorkommen von ersetzt erstes Trennzeichen, und dann teilen wir das zweite Trennzeichen auf. Die Methode 🎜🎜str.replace gibt eine Kopie der Zeichenfolge zurück, wobei alle Vorkommen der Teilzeichenfolge durch die bereitgestellte Ersetzung ersetzt werden. 🎜🎜Diese Methode benötigt die folgenden Parameter: 🎜
  • 🎜old Der Teilstring, den wir im String ersetzen möchten 🎜
  • 🎜new Ersetzt jedes Vorkommen von old🎜
  • 🎜count Ersetzt nur das erste Vorkommen von count (optional) 🎜
  • 🎜Bitte beachten Sie, dass diese Methode die ursprüngliche Zeichenfolge nicht ändert. Strings sind in Python unveränderlich. 🎜
    🎜Hier ist ein weiteres Beispiel. 🎜rrreee🎜Wir verwenden die Methode str.replace(), um Satzzeichen zu entfernen, bevor wir die Zeichenfolge in Leerzeichen aufteilen. 🎜
    🎜Wir verwenden eine leere Zeichenfolge als Ersatz, da wir die angegebenen Zeichen entfernen möchten. 🎜
    🎜Wir können so viele Aufrufe wie nötig an die Methode str.replace() verketten. 🎜🎜Der letzte Schritt besteht darin, die Zeichenfolge mithilfe der Methode str.split() in eine Liste von Wörtern aufzuteilen. Die Methode 🎜🎜str.split() teilt eine Zeichenfolge mithilfe von Trennzeichen in eine Liste von Teilzeichenfolgen auf. 🎜🎜Diese Methode benötigt die folgenden 2 Parameter: 🎜
    • 🎜separator teilt die Zeichenfolge jedes Mal in Unterzeichen auf, wenn ein Trennzeichen erscheint. String 🎜< /li>
    • 🎜maxsplit Vollständige Maxsplit-Aufteilung (optional) 🎜
    🎜Wenn kein Trennzeichen an die Methode str.split( ) übergeben wird , teilt es die Eingabezeichenfolge in ein oder mehrere Leerzeichen auf. 🎜rrreee🎜Wenn das Trennzeichen nicht in der Zeichenfolge gefunden wird, wird eine Liste zurückgegeben, die nur 1 Element enthält. 🎜

    Verwenden Sie eine wiederverwendbare Funktion, um eine Zeichenfolge basierend auf mehreren Trennzeichen aufzuteilen

    🎜Wenn wir eine Zeichenfolge häufig basierend auf mehreren Trennzeichen aufteilen müssen, definieren Sie bitte eine wiederverwendbare Funktion. Die Funktion 🎜rrreee🎜split_multiple akzeptiert eine Zeichenfolge und eine Liste von Trennzeichen und teilt die Zeichenfolge basierend auf dem Trennzeichen auf. 🎜🎜str.join()-Methode wird verwendet, um das Trennzeichen mit der Pipe | zu verbinden. Teiler. 🎜rrreee🎜Dadurch wird ein reguläres Ausdrucksmuster erstellt, mit dem wir eine Zeichenfolge basierend auf einem angegebenen Trennzeichen teilen können. 🎜🎜Wenn wir eine Zeichenfolge in eine Liste von Wörtern mit mehreren Trennzeichen aufteilen müssen, können wir auch die Methode re.findall() verwenden. 🎜

    Teilen Sie eine Zeichenfolge mit re.findall() in eine Liste von Wörtern auf.

    🎜Verwenden Sie die Methode re.findall(), um eine Zeichenfolge in eine Liste mit Wörtern mit mehreren Trennzeichen aufzuteilen. Die Methode 🎜🎜re.findall() teilt die Zeichenfolge jedes Mal, wenn ein Wort vorkommt, und gibt eine Liste zurück, die das Wort enthält. Die Methode 🎜rrreee🎜re.findall verwendet ein Muster und eine Zeichenfolge als Parameter und gibt eine Liste von Zeichenfolgen zurück, die alle nicht überlappenden Vorkommen des Musters in der Zeichenfolge enthält. 🎜

    我们传递给 re.findall() 方法的第一个参数是一个正则表达式。

    import re
    
    my_str = &#39;fql jiyik, dot # com. abc&#39;
    
    my_list = re.findall(r&#39;[\w]+&#39;, my_str)
    print(my_list)  # ????️ [&#39;fql&#39;, &#39;jiyik&#39;, &#39;dot&#39;, &#39;com&#39;, &#39;abc&#39;]
    Nach dem Login kopieren
    Nach dem Login kopieren

    方括号 [] 用于表示一组字符。

    \w 字符与 Unicode 单词字符匹配,并且包括可以作为任何语言的单词一部分的大多数字符。

    加号 + 使正则表达式匹配前面字符(Unicode 字符)的 1 次或多次重复。

    re.findall() 方法返回一个包含字符串中单词的列表。

    Das obige ist der detaillierte Inhalt vonWie teilt man in Python eine Zeichenfolge mit mehreren Trennzeichen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage