【问题标题】:How to find unknown character from a list of strings?如何从字符串列表中查找未知字符?
【发布时间】:2020-12-08 19:13:51
【问题描述】:

如何从字符串列表中删除未知字符? 例如我的列表是['hi', 'h@w', 'are!', 'you;', '25'],我想删除所有不是单词或数字的字符?

我该怎么做?

【问题讨论】:

  • 我认为字符这个词可能意味着几个不同的东西。您可能想要更具体。
  • 可能最干净的方法是使用regex 来解析字符串。您还可以使用空字符串在字符串中创建一个无效字符数组和replaceany

标签: python python-3.x string list


【解决方案1】:

Regex:

s = ['hi', 'h@w', 'are!', 'you;', '25']
[re.sub(r'[^A-Za-z0-9 ]+', '', x) for x in s]
['hi', 'hw', 'are', 'you', '25']

【讨论】:

    【解决方案2】:

    使用re.sub:

    from re import sub
    lst = ['hi', 'h@w', 'are!', 'you;', '25']
    lst = [sub('[^\w]', '', i) for i in lst]
    print(lst)
    

    输出:

    ['hi', 'hw', 'are', 'you', '25']
    

    解释:

    这一行:sub('[^\w]', '', i) 告诉 python 将模式 "[^\w]" 的所有子字符串替换为空字符串,""i 字符串内,并返回结果。

    模式[^\w] 查找字符串中所有非字母或数字的字符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 2020-10-19
      相关资源
      最近更新 更多