【问题标题】:Is there a way to check against all special characters?有没有办法检查所有特殊字符?
【发布时间】:2015-10-29 00:05:12
【问题描述】:

除了手动放入它们之外,还有什么方法可以测试 python 中的所有特殊字符,可能类似于 .isalnum 或 .isalpha 函数?我对编码比较陌生,所以我不知道。

【问题讨论】:

  • 每个角色都有其独特之处。
  • 你在说什么特殊字符?人们可能认为“特殊”的字符取决于您在做什么。
  • import string 然后help(string) 并阅读。 string.punctuation 之类的东西可能就是您要找的东西。

标签: python methods


【解决方案1】:

假设任何非字母数字字符都算作特殊字符,你可以在isalnum前面加上not,当有任何特殊字符时返回true:

test = "1$%a"
print not test.isalnum()
# returns true

【讨论】:

    【解决方案2】:

    您可以定义自己的is_alphanumeric 函数:

    from string import digits, letters
    
    def is_alphanumeric(mystring):
        """ Returns true if all characters of `mystring` are either letters or digits:
        >>> is_alphanumeric('hello wörld')
        True
        >>> is alphanumeric('Hello World!')
        False
        """
        return all(character in chain(digits, letters) for character in mystring)
    

    如果你想限制为ASCII:

    from string import digits, letters_ascii
    
    def is_alphanumeric_ascii(mystring):
        """ Returns true if all characters of `mystring` are either ascii    letters or digits: 
        >>> is_alphanumeric('hello wörld')
        False
        >>> is alphanumeric('Hello World')
        True
        """
        return all(character in chain(digits, letters_ascii) for character in mystring)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多