python提取字符串中英文单词
时间: 2023-10-31 11:02:46 浏览: 65
要使用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函数来提取其中的英文单词。最后,输出提取到的英文单词列表。
相关问题
使用Python统计英文文档中的单词个数
可以使用Python中的`collections`模块和正则表达式来统计英文文档中的单词个数。可以按照以下步骤操作:
1. 读取英文文档,将文档内容存储到一个字符串变量中。
2. 使用正则表达式分割字符串,提取出所有的单词。
3. 使用`collections.Counter`对象统计单词出现的次数。
4. 输出单词计数结果。
以下是一个示例代码:
```python
import re
from collections import Counter
# 读取英文文档
with open("english_doc.txt", "r") as f:
content = f.read()
# 使用正则表达式分割字符串,提取出所有的单词
words = re.findall(r'\b\w+\b', content)
# 使用collections.Counter对象统计单词出现的次数
word_count = Counter(words)
# 输出单词计数结果
for word, count in word_count.most_common():
print(f"{word}: {count}")
```
注意,此处使用了`\b`来匹配单词的边界,`\w`来匹配单词中的字符。在实际应用中,可能需要根据具体情况进行调整。
python编写代码,将英文字符串内容转化为大写,提取文件中首字母为大写“T”的单词,不允许重复。打印结果(每行打印一个单词)。“
假设英文字符串内容在一个文件中,可以按照行读取文件内容,然后对每一行进行处理。可以使用 `upper()` 方法将英文字符串转化为大写,然后使用 `split()` 方法将字符串按照空格分割为一个列表。接着可以使用列表推导式和 if 语句选出首字母为大写 'T' 的单词并去重,最后使用 for 循环输出结果。
以下是实现代码:
```python
with open('file.txt', 'r') as f:
for line in f:
words = line.upper().split()
selected_words = list(set([word for word in words if word.startswith('T')]))
for word in selected_words:
print(word)
```
其中 `file.txt` 是存储英文字符串内容的文件名,需要根据实际情况进行修改。