python提取字符串中单词
时间: 2023-10-28 16:06:14 浏览: 147
可以使用split()函数将字符串按照空格分割成一个列表,然后遍历列表,判断每个元素是否是一个单词(只包含字母或数字),如果是,就将它存储到一个新的列表中。
举个例子:
```python
s = "Hello world, this is a test string."
words = []
for word in s.split():
if word.isalnum():
words.append(word)
print(words)
```
输出:
```
['Hello', 'world', 'this', 'is', 'a', 'test', 'string']
```
这样就得到了字符串中的单词列表。如果需要去除标点符号可以使用string模块中的punctuation字符串进行判断。修改上面的代码:
```python
import string
s = "Hello world, this is a test string."
words = []
for word in s.split():
word = word.strip(string.punctuation)
if word.isalnum():
words.append(word)
print(words)
```
输出:
```
['Hello', 'world', 'this', 'is', 'a', 'test', 'string']
```
相关问题
python提取字符串中的单词
### 回答1:
Python中可以使用正则表达式来提取字符串中的单词。可以使用re.findall()函数来实现。例如:
```
import re
text = "This is a sentence with several words"
words = re.findall(r'\b\w+\b', text)
print(words)
```
输出结果为:
```
['This', 'is', 'a', 'sentence', 'with', 'several', 'words']
```
也可以使用string.split()函数来实现
```
text = "This is a sentence with several words"
words = text.split(' ')
print(words)
```
输出结果为:
```
['This', 'is', 'a', 'sentence', 'with', 'several', 'words']
```
### 回答2:
在Python中,可以使用split()函数来提取字符串中的单词。split()函数会将字符串按照空格进行分割,并返回一个包含分割后单词的列表。
例如,有一个字符串s = "Hello world! This is a sample string.",我想提取出其中的单词。可以使用split()函数来实现:
words = s.split()
print(words)
运行以上代码,输出结果为:['Hello', 'world!', 'This', 'is', 'a', 'sample', 'string.']
如果字符串中存在其他分隔符,也可以在split()函数中指定分隔符。例如,如果字符串s = "Hello-world!This/is/a/sample-string.",我们可以使用split('-')来按照"-"进行分割,并提取出单词:
words = s.split('-')
print(words)
运行以上代码,输出结果为:['Hello', 'world!This/is/a/sample', 'string.']
需要注意的是,split()函数默认以空格作为分隔符,如果字符串中存在连续的多个空格,则会被视为一个空格进行分割。
另外,如果需要删除字符串中的标点符号,可以使用字符串的translate()函数配合使用translate()函数中的string.punctuation属性来实现。具体做法是,先导入string模块,然后使用translate()函数替换字符串中的标点符号为空格,再利用split()函数来提取单词。例如:
import string
translator = str.maketrans('', '', string.punctuation)
s = "Hello, world! This is a sample string."
s = s.translate(translator)
words = s.split()
print(words)
运行以上代码,输出结果为:['Hello', 'world', 'This', 'is', 'a', 'sample', 'string']
这样就实现了提取字符串中的单词并去除标点符号的功能。
### 回答3:
要在Python中提取字符串中的单词,我们可以使用split()函数。split()函数将会把字符串分割成一个个的单词,并返回一个包含所有单词的列表。
例如,假设我们有一个字符串"Hello, how are you?",我们可以使用split()函数提取其中的单词,具体代码如下:
```
string = "Hello, how are you?"
words = string.split()
print(words)
```
这段代码将会输出以下结果:
```
['Hello,', 'how', 'are', 'you?']
```
可以看到,字符串被成功地分割成了四个单词。
如果字符串中有特殊符号或标点符号,我们可以使用正则表达式来去除它们,只提取单词。下面是一个示例代码:
```
import re
string = "Hello, how are you?"
words = re.findall(r'\b\w+\b', string)
print(words)
```
这段代码使用了re.findall()函数来匹配字符串中的所有单词,并返回一个包含所有单词的列表。输出结果与之前的代码相同。
总结来说,Python提取字符串中的单词可以使用split()函数或正则表达式,具体方法取决于字符串中是否有特殊符号或标点符号。
python提取字符串中英文单词
要使用Python提取字符串中的英文单词,可以使用正则表达式和Python内置的re模块来实现。下面是一个示例代码:
import re
def extract_english_words(input_string):
# 使用正则表达式匹配所有的英文单词
english_words = re.findall(r'\b[A-Za-z]+\b', input_string)
return english_words
# 测试代码
input_string = "Hello, my name is John. I love coding in Python!"
english_words = extract_english_words(input_string)
print(english_words)
运行以上代码,将会输出以下结果:
['Hello', 'my', 'name', 'is', 'John', 'I', 'love', 'coding', 'in', 'Python']
在代码中,首先定义了一个名为extract_english_words的函数,接受一个字符串作为输入参数。函数内部使用re.findall函数和\b的正则表达式模式来匹配字符串中的所有英文单词。
\b是一个单词边界匹配符,可以确保只匹配纯英文单词,而不会包括其他字符(比如标点符号或空格)。
然后,在测试代码中,给定了一个输入字符串,并调用了extract_english_words函数来提取其中的英文单词。最后,输出提取到的英文单词列表。
阅读全文