Python 中自定义分割逗号分隔的单词

在使用 Python 处理字符串时,我们经常需要按照空格来拆分单词。但有时,我们会遇到逗号分隔的单词,这些逗号直接连接在单词上,需要我们将它们单独分割出来。让我们来探讨几种完成此任务的方法。

方法 #1:使用 replace()

> 使用 replace() 是解决此问题的一种方法。在这里,我们只需将连接在字符串上的逗号替换为带空格的形式,这样它们就能与其他单词一起被正确地分割。

Python3

# Python3 代码演示工作原理
# 使用 replace()

# 初始化字符串
test_str = ‘geeksforgeeks, is, best, for, geeks‘

# 打印原始字符串
print("The original string is : " + str(test_str))

# 出现之间的距离
# 使用 replace()
res = test_str.replace(", ", " , ").split()

# 打印结果
print("The strings after performing splits : " + str(res))

**输出**
CODEBLOCK_2dc53db9

**时间复杂度:** O(n),其中 n 是输入字符串的长度。
**辅助空间:** O(n),其中 n 是输入字符串的长度。

## 方法 #2:使用 re.findall()

这个问题也可以使用正则表达式来解决。在这里,我们查找非空格单词的出现,并据此执行分割。

Python3

CODEBLOCK_599c0f91


输出

The original string is : geeksforgeeks, is, best, for, geeks
The strings after performing splits : [‘geeksforgeeks‘, ‘,‘, ‘is‘, ‘,‘, ‘best‘, ‘,‘, ‘for‘, ‘,‘, ‘geeks‘]

时间复杂度: O(n)
辅助空间: O(n)

方法 3 —— 使用字符串 split() 方法自定义分割逗号分隔的单词

在这种方法中,我们可以通过使用字符串 split() 方法来实现相同的结果。我们可以基于逗号分隔符分割字符串,然后从每个结果子字符串中去除任何空白字符。

Python3

test_str = ‘geeksforgeeks, is, best, for, geeks‘

# 基于逗号分割字符串,并去除每个子字符串的空白字符
res = [s.strip() for s in test_str.split(‘,‘)]

# 打印结果
print("The strings after performing splits : " + str(res))

**输出**
CODEBLOCK_a39e544f

**时间复杂度:** O(n),其中 n 是输入字符串 test_str 的长度。
**辅助空间:** O(n),其中 n 是输入字符串 test_str 的长度。

## 方法 #4:使用列表推导式

> 该程序使用逗号作为分隔符将字符串拆分为单词,然后使用列表推导式去除每个单词前后的空白。得到的去除空白后的单词列表随后被打印出来。

Python3

CODEBLOCK_046048b9


输出

[‘geeksforgeeks‘, ‘is‘, ‘best‘, ‘for‘, ‘geeks‘]

时间复杂度: O(n),其中 n 是输入字符串的长度。
辅助空间: O(n),其中 n 是输入字符串的长度。

方法 #5:使用 string.split() 方法

Python3

test_str = ‘geeksforgeeks, is, best, for, geeks‘

# 使用列表推导式分割单词
res = [word.strip() for word in test_str.split(",")]

# 打印结果
print("The strings after performing splits : " + str(res))

`

输出

The strings after performing splits : [‘geeksforgeeks‘, ‘is‘, ‘best‘, ‘for‘, ‘geeks‘]

时间复杂度: O(n),其中 n 是输入字符串 test_str 的长度。
辅助空间: O(n),其中 n 是输入字符串 test_str 的长度。

方法 #6:使用 re 模块中的 re.split() 方法

> 在 Python 中分割逗号分隔单词的另一种方法是使用 re 模块中的 re.split() 方法。

逐步方法:

  • 导入 re 模块
  • 初始化要分割的字符串 test_str
  • 定义一个正则表达式模式,用于匹配逗号后跟任意数量的空格 (",\s*")
  • 使用带有正则表达式模式的 re.split() 方法来分割字符串。
  • 打印分割后的字符串结果列表。

下面是该方法的实现:

Python3

import re

# 初始化字符串
test_str = ‘geeksforgeeks, is, best, for, geeks‘

# 打印原始字符串
print("The original string is : " + str(tes
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/43427.html
点赞
0.00 平均评分 (0% 分数) - 0