测试字符串中带有变音符号的子字符串

发布于 2024-12-05 16:12:36 字数 165 浏览 2 评论 0原文

我正在 Python 中测试某些字符串是否包含如下内容

if substr in str:
  do_something()

问题是当 substr 包含带有变音符号和其他非常用字符的字母时。 您建议如何使用这些字母进行测试?

谢谢

I'm testing in Python if certain string contains something as follows

if substr in str:
  do_something()

The problem is when substr contains letter with diacritics and other non usual characters.
How would you recommend to do tests with such letters?

thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

静若繁花 2024-12-12 16:12:36

我不知道 Python 中的变音符号有什么特定问题。以下对我有用:

 u"ł" in u"źdźbło"
 >>> True

编辑:

u"ł" in u"źdźblo"
>>> False 

匹配是准确的。如果您想要不区分变音符号的匹配,请在您的问题中指定这一点并查看 Fredrik 的答案。

Edit2:是的,对于包含非 ascii 字符的字符串文字,您需要在源文件中指定编码。像这样的东西应该有效:

# coding: utf-8

I do not know of any problems specific to diacritics in Python. The following works for me:

 u"ł" in u"źdźbło"
 >>> True

Edit:

u"ł" in u"źdźblo"
>>> False 

The matching is exact. If diacritics-insensitive matching is what you want, specify this in your question and see Fredrik's answer.

Edit2: Yes, for string literals containing non-ascii chars you need to specify the encoding in the source file. Something like this should work:

# coding: utf-8
流殇 2024-12-12 16:12:36

使用此 SO post 在测试之前删除所有变音符号。

Use the solution outlined in this SO post to remove all diacritics prior to the testing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文