【发布时间】:2016-05-18 18:41:46
【问题描述】:
我想知道 Python 3.5 中是否有一种方法可以检查字符串是否包含某个符号。另外我想知道是否有办法检查字符串包含的数量。例如,如果我想检查字符 '$' 在这个字符串中出现了多少次......
^$@%#$$,
我该怎么做?
【问题讨论】:
-
你尝试过使用正则表达式吗?
标签: python string python-3.x python-3.5
我想知道 Python 3.5 中是否有一种方法可以检查字符串是否包含某个符号。另外我想知道是否有办法检查字符串包含的数量。例如,如果我想检查字符 '$' 在这个字符串中出现了多少次......
^$@%#$$,
我该怎么做?
【问题讨论】:
标签: python string python-3.x python-3.5
您可以使用split 来检查符号是否在字符串中:
if your_str.split('$'):
print(your_str.count('$'))
你也可以使用re.findall:
import re
print(len(re.findall('\$', your_str)))
如果字符串中没有这样的符号,则返回0,否则返回字符串中该符号的计数。
但最简单的方法是检查并返回 count 如果符号在:
print(your_str.count('$'))
如果没有找到,它会返回0。
【讨论】:
split 来检查字符串中是否有符号?这是一种相当迂回的思考方式(更不用说效率低下)。此外,这个简单问题的正则表达式似乎也有点矫枉过正。 . . '$' in your_str 是检查字符串中是否存在子字符串的最佳方法。 . .如果您需要它出现的索引,那么我想index = your_str.find('$') 将是建议的方法。 . .
这些是内置函数 index 和 count。您可以在official site 找到完整的文档。请习惯自己做研究;第一步是熟悉语言元素的名称。
if my_str.index('$') != 0:
# Found a dollar sign
print my_str.count('$')
【讨论】:
'$' in my_str -- 这是一种更惯用的方式来检查字符串中的子字符串...
if '$' in my_str: 是更好的选择。正如您所做的是假设字符已经在字符串中(如果未找到则返回错误)。此外,如果您有字符串 '$Hello$',则 if 语句不会为任何以该字符开头的字符串返回 True。