我使用代码从标点符号中删除一行文本:
line = line.rstrip("\n")
line = line.translate(None, string.punctuation)
Run Code Online (Sandbox Code Playgroud)
问题是,像话doesn't反过来doesnt所以现在我只想字之间去除标点符号,但似乎无法找出一种方法来做到这一点.我该怎么办呢?
编辑:我想过使用这个strip()函数,但这只会影响整个句子的左右拖尾.
例如:
Isn't ., stackoverflow the - best ?
Run Code Online (Sandbox Code Playgroud)
应该成为:
Isn't stackoverflow the best
Run Code Online (Sandbox Code Playgroud)
而不是当前的输出:
Isnt stackoverflow the best
Run Code Online (Sandbox Code Playgroud)
jam*_*lak 11
假设您将单词视为由空格分隔的字符组:
>>> from string import punctuation
>>> line = "Isn't ., stackoverflow the - best ?"
>>> ' '.join(word.strip(punctuation) for word in line.split()
if word.strip(punctuation))
"Isn't stackoverflow the best"
Run Code Online (Sandbox Code Playgroud)
要么
>>> line = "Isn't ., stackoverflow the - best ?"
>>> ' '.join(filter(None, (word.strip(punctuation) for word in line.split())))
"Isn't stackoverflow the best"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4199 次 |
| 最近记录: |