python - 如何检查字符串是否包含字母或字母和撇号但不包含数字?

标签 python string

我试图找出是否有一种简单的方法使用 for 循环和列表来检查用户输入字符串是否包含字母或字母和撇号,但不包含数字或字母和数字(字母和数字和撇号) ?

我尝试了很多方法还是无法解决?我将不胜感激任何线索!谢谢。

最佳答案

您似乎只需要包含字母(可能还加上撇号)的字符串,但不需要数字,尽管您已经更详细地表达了要求。这可以在没有正则表达式的情况下完成,如下所示:

not any(c for c in my_str if c not in string.ascii_letters + "'")

请参阅以下示例代码:

>>> test = ['abcde', "abcde'", 'abcde123', "abcde'123", 'abcde.']
>>> for s in test:
...   print(s, '-->', not any(c for c in s if c not in string.ascii_letters + "'"))
... 
abcde --> True
abcde' --> True
abcde123 --> False
abcde'123 --> False
abcde. --> False

希望很明显,仅执行一次 string.ascii_letters + "'" 会更有效,并且您必须首先导入 string。这只是一个例子。

关于python - 如何检查字符串是否包含字母或字母和撇号但不包含数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33790790/

相关文章:

c++ - 将字符串拆分为字符串和整数

python - 如何从字符串的排列列表中分离元素?

java - 如何使用 vector Java比较我输入的字符串和文本文件中的字符串?

python - turtle 按键绑定(bind),为什么老是崩溃?

python - 如何从输出文本中删除 HTML 标签?

python - 如何将 PIL `Image` 转换为 Django `File` ?

PYTHON:如何创建一个函数来接收变量输入,然后将其发送给另一个函数

python - 无法从 multiprocessing.Queue .get()

c - 在 C 中使用 sscanf 从文件中读取多行字符串

Java ArrayList 项目计数器 ie "Apple, 3×Banana, 2×Orange"