另外,我需要让程序显示单词中包含数字的单词
f = open("lolpa.txt", "r")
list1 = (f)
temp = []
for item in list1:
if "1" "2" "3" "4" "5" "6" "7" "8" "9" "0" in item:
temp.append(item)
else:
print(item)
是我迄今为止所拥有的,但它出于某种原因显示了所有的词语。
编辑:lolpa.txt只是一个比较文件
编辑:如果这会改变任何东西,我使用的是python 3.2。
答案 0 :(得分:3)
这样的事情会让你开始,问题不是很清楚。
with open("lolpa.txt") as f:
for word in f.readline().split(): # assuming all words are on the first line
digits = [c for c in word if c.isdigit()]
if digits: # digits list is not empty
print(' '.join(digits)) # shows digits with space in between
else:
print(word) # prints word normally
答案 1 :(得分:1)
以下内容将包含数字的整个单词放在一个文件中,而将数字放在另一个文件中。
f = open('lolpa.txt', 'r')
d = open('lolpa_with_digit.txt', 'w')
nd = open('lolpa_without_digit.txt', 'w')
rowlist = (f)
temp = []
for line in rowlist:
words = line.split(' ')
for word in words:
word = word.strip()
has_digit = False
for char in word:
if char.isdigit():
has_digit = True
if has_digit:
d.write(word + '\n')
else:
nd.write(word +'\n')
答案 2 :(得分:0)
我不是正则表达专家,但这应该有用(当然你必须遍历每一行yadayada):
import re
prog = re.comile(r'\b[a-zA-Z]+\b')
result = prog.findall(your_line_here)
结果将是所有单词的列表