如何从列表中的字符串中删除字符?

时间:2017-05-30 23:43:40

标签: python regex

我正在使用名为PyDictionary的模块。每当它获得单词的同义词时,它会创建list个同义词,但是当我尝试print list时,它在同义词之前有一个'u',例如:

[u'welcome', u'howdy', u'hi', u'greetings', u'bonjour']

我已经尝试过:synonym = re.sub('u','',synonym[0]),这样做有效,但只打印'welcome',而不是整个list

非常感谢任何帮助。 谢谢!

2 个答案:

答案 0 :(得分:0)

如果您想将list转换为list strings,您可以使用list这样的理解:

result = [str(x) for x in synonym]

答案 1 :(得分:0)

您看到的u不是字符串内容的一部分,因此无法使用正则表达式替换删除。相反,它应被视为 开场报价的一部分 。 Python语言本身的语法允许使用以这种方式变形的引号来定义字符串文字。例如:

a = 'spam'
b = u'spam'   # in Python 2, a and b are different types

当您以程序员的方式显示变量时,即以引号字符可见的方式显示(例如,只需在提示符下键入synonym[0],或尝试print整个列表synonym,或者在字符串上调用Python的repr()机制,然后u也将可见。相比之下,当你像用户那样显示变量时(例如使用print synonym[0],或join列表,然后print结果然后,就像你不希望看到引号字符本身一样,你也看不到u