gpt4 book ai didi

python - 在 python 中,测试字符串的 1 或 3 个连续实例,但不是 2 个(没有正则表达式)

转载 作者:行者123 更新时间:2023-11-30 23:32:12 25 4
gpt4 key购买 nike

我正在处理的数据...

* 标记属性 A
** 标记属性 B
*** 标记属性 A 和 B

text1 = "spam*eggs"   # A
text2 = "eggs**spam" # B
text3 = "spam***spam" # A & B

测试属性 B 很容易,

"**" in <string>

但是使用相同的策略测试属性 A 会给出 text2 的误报。

>>> "*" in text2
True

我想测试属性 A。是否有一种 Pythonic 方法可以在不使用正则表达式的情况下执行此操作?我不想使用正则表达式,因为我与不熟悉正则表达式的初学者共享代码。

最佳答案

试试这个:

idx = txt.index('*')
if txt[idx+1] != '*':
print 'A'
elif txt[idx+2] != '*':
print 'B'
else:
print 'A & B'

上述内容将引发极端情况的异常 - 例如,如果字符串不存在,或者字符串是最后一个字符。此解决方案的另一个好处是执行一次文本遍历(调用 index())。

关于python - 在 python 中,测试字符串的 1 或 3 个连续实例,但不是 2 个(没有正则表达式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19498771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com