[英]Need to remove word with certain separating character in list using python
需要从每个单词中删除单词分隔字符(例如, . - * !
和空格),存在于列表单词中。 将得到的结果再次存储在列表词中。
我似乎无法删除单词列表中的整个单词。 有这样的事吗? 我尝试了下面的代码,但它不会删除带有上述字符的单词。 另外,我是否需要使用列表理解和剥离函数。
words=([s.strip(",.-*! ") for s in (Convert(setofStrings))])
print(words)
尝试这个:
b = ["aa-2", "bb-2"]
words = [x.split("-") for x in b]
output:
[['aa', '2'], ['bb', '2']]
也就是说,如果你想拆分单词,如果你只想删除字符,你可以使用.replace()
strip()
只会从字符串的开头或结尾删除这些字符。 您需要使用translate()
或更复杂的基于正则表达式的替换re.sub()
。
使用deletechars
参数的translate()
示例:
words = ['-foo.,', '!b*a-!r', 'ba*!,-z']
words = [s.translate(None, '-.!*,') for s in words]
和re.sub()
的例子:
import re
words = ['-foo.,', '!b*a-!r', 'ba*!,-z']
words = [re.sub(r'[-\.!\*,]', '', s) for s in words]
Output:
['foo', 'bar', 'baz']
如建议的那样,如果您的目标是从字符串列表中删除字符,则可以将re.sub
与列表理解结合使用。
import re
list_of_words = ['test.','cool!','wow ','y*,!']
result = [re.sub('[,\.\-\*\! ]', '', word) for word in list_of_words]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.