【问题标题】:Turning a string into a list of all its non-alphanumeric chars in Python在 Python 中将字符串转换为所有非字母数字字符的列表
【发布时间】:2014-05-04 06:03:52
【问题描述】:

如何扫描字符串中的所有非字母数字字符?

到目前为止,我有以下内容:

pattern = re.compile('\W')

【问题讨论】:

  • 能否描述一下,为什么需要这个,用例是什么?
  • 请用示例输入,预期输出清楚地解释问题。事实上,由于不清楚,问题可能很快就会结束。
  • 我只是想要一种方法来获取 Python 中所有非字母数字字符的列表
  • @user3175999 为了清楚起见,您还想要所有的 unicode 字符吗?
  • 您可能想在这里消除混淆:Q 要求扫描字符串,而在 cmets 中,您说您需要 python 中的所有非字母数字符号(而不是字符)。假设您想要后者,我已经回答了。

标签: python regex list


【解决方案1】:

这将给出一组非字母数字符号:

set(string.printable) - set(string.letters) - set(string.digits)

或者使用 RE:

re.findall("\W", string.printable)

【讨论】:

  • @user3175999 import string
  • 有没有办法把一个集合变成一个列表
  • 只做list(set(string.printable) - set(string.letters) - set(string.digits))
【解决方案2】:

使用标准库字符串方法扫描字符串的示例。

http://docs.python.org/2/library/stdtypes.html#string-methods

charlist = ['google', 'stack-overflow', 'twitter', '#$!word']
["".join([y for y in x if not y.isalpha()]) for x in charlist]
out[1]: ['', '-', '', '#$!']

【讨论】:

    猜你喜欢
    • 2018-02-01
    • 2012-10-10
    • 2010-12-20
    • 2021-11-10
    • 2018-12-09
    • 2021-12-04
    • 2014-04-26
    • 1970-01-01
    • 2017-12-24
    相关资源
    最近更新 更多