python - 删除标点符号,输出剩余文本-Python 3 函数
问题描述
我想通过我的函数运行这个文件,然后在删除整数或数字后输出剩余的文本。下面是我的python代码:
theFile=open("home/filepath/file",'rt', encoding= 'latin-1').read()
words= the_file.split()
def replace_numbers(words):
new_words=[]
for word in words:
new_word= re.sub(" \d+", " ", word)
if new_word !='':
new_words.append(new_word)
return new_words
replace_numbers(words)
以下是文件中的一些示例文本:
footballfif@yahoo.com 366-44-4444 Jezos 于 1964 年 1 月 12 日出生于 Jeffrey Preston Jorgensen,同时 5 岁和 4 岁
我希望输出为:
Footballfif@yahoo.com 366-44-4444 Jezos 于 1964 年 1 月 12 日出生于 Jeffrey Preston Jorgensen,同时也是
所以基本上从文本文件中删除所有整数。简单的。
有没有办法返回删除文件中所有数字然后输出剩下的结果的方法。截至目前,输出只是[]。我知道问题可能出在 if new_word != ''
: 部分,但我似乎找不到问题。
解决方案
如果您只想删除所有数字的部分,您甚至不需要re
. 只是split
然后保持一切not isdigit
。
>>> text = "soccerfif@yahoo.com 366-44-4444 Jezos was born Jeffrey Preston Jorgensen on January 12, 1964, also 5 and 4"
>>> [word for word in text.split() if not word.isdigit()]
['soccerfif@yahoo.com', '366-44-4444', 'Jezos', 'was', 'born', 'Jeffrey', 'Preston', 'Jorgensen', 'on', 'January', '12,', '1964,', 'also', 'and']
>>> ' '.join(_)
'soccerfif@yahoo.com 366-44-4444 Jezos was born Jeffrey Preston Jorgensen on January 12, 1964, also and'
推荐阅读
- user-interface - 如何声明一个 ui.NewEntry 数组?
- jquery - tempusdominus - allowInputToggle 在 Bootstrap 4 项目中不起作用
- flutter - 颤动动画闪屏(gif)
- c++ - 有没有办法扩展我的类,但仍然使用父类作为 C++ 中函数的参考?
- php - 如何使 ajax 加载更多内容,使用按钮分页工作
- typescript - Typescript: Get property field names of type
- r - Snowball 的意大利 Stemmer 替代品
- colors - Emacs 的颜色助手?
- gitlab-ci - 使用 gitlab-ci 按环境顺序运行作业
- python - 它是字典还是列表?