[英]How would you check if a letter/number/symbol is in a string? (Python)
很抱歉问了一个相当简单的问题,但是我将如何做到这一点,以便当某个字母(例如“a”)在元素中时某个字母/符号/数字会“激活”if语句。 如果我做
thestring = ["a"]
(然后添加 if 语句 ^^)然后它会起作用,但是如果我在它旁边添加另一个字母或数字:
thestring = ["ab"]
(然后添加 if 语句 ^^)它不再起作用了。 所以基本上,我该如何解决这个问题?
示例代码:
thestring = ["fvrbgea"]
if "a" in thestring:
print("True")
Output: (Nothing here since there's not an else code I guess.)
正如 Klaus D. 所暗示的,您的字符串是一个包含一个元素的列表(“fvrbgea”)。 那个元素不等于字符串“a”。 如果您从字符串中删除括号,您的代码将按照您期望的方式执行。
如果您只想验证字符串是否包含字母/数字/符号,您应该使用正则表达式:
import re
string = "mystring"
#Validate numbers, lowercase letters, dashes
if re.match("^[0-9a-z-]+$", string):
print("True.")
else:
print("False.")
thestring = ["fvrbgea"]
for el in thestring:
if el.isnumeric():
print("Numeric")
elif el.isalnum():
print("AlNum")
# elif el.isPutSomethingHere
python基本库有“is”方法来检查字符串。
直接把 variable.isSomething 放在这里看看。
如果你想检查一个指定的字母是否在字符串中,只需遵循相同的逻辑,在某些情况下你会在初始循环中放置另一个
thestring = ["fvrbdoggea"]
control = list()
for el in thestring:
for c in el:
if "".join(control) != "dog":
if c == "d" or c == "o" or c == "g":
control.append(c)
print("".join(control))
你可以自动化,但是,这有点难,我不想这样做,但是有了这个,你可以想个主意
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.