0

我还需要让程序分别显示在你的数字中确实有数字的单词

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。

4

3 回答 3

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
于 2012-08-08T01:54:48.063 回答
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')
于 2012-08-08T02:57:22.497 回答
0

我不是正则表达式专家,但这应该可以工作(当然你必须遍历每一行 yadayada):

import re
prog = re.comile(r'\b[a-zA-Z]+\b')
result = prog.findall(your_line_here)

结果将是所有单词的列表

于 2012-08-08T02:23:26.753 回答