📜  python 字符串包含 - Python (1)

📅  最后修改于: 2023-12-03 15:04:16.132000             🧑  作者: Mango

Python字符串包含

在Python中,我们可以使用一些方法来判断一个字符串是否包含另一个字符串。本文将介绍四种常用的方法:in运算符,find()方法,index()方法以及正则表达式。

in运算符

使用in运算符可以判断一个字符串是否包含另一个字符串,如果包含则返回True,否则返回False。示例代码如下:

>>> str1 = "hello python"
>>> str2 = "python"
>>> print(str2 in str1)
True
>>> str3 = "java"
>>> print(str3 in str1)
False

可以通过not in运算符来判断一个字符串是否不包含另一个字符串。

>>> str1 = "hello python"
>>> str2 = "python"
>>> print(str2 not in str1)
False
>>> str3 = "java"
>>> print(str3 not in str1)
True
find()方法

使用字符串的find()方法可以返回一个字符串中指定子串的位置,如果找不到则返回-1。示例代码如下:

>>> str1 = "hello python"
>>> str2 = "python"
>>> print(str1.find(str2))
6
>>> str3 = "java"
>>> print(str1.find(str3))
-1

find()方法可以指定查找的起始位置和结束位置。例如,下面的代码从第4个字符开始查找"python",结果为6。

>>> str1 = "hello python python"
>>> str2 = "python"
>>> print(str1.find(str2, 4))
6
index()方法

与find()方法类似,使用字符串的index()方法也可以返回一个字符串中指定子串的位置,如果找不到则抛出ValueError异常。示例代码如下:

>>> str1 = "hello python"
>>> str2 = "python"
>>> print(str1.index(str2))
6
>>> str3 = "java"
>>> print(str1.index(str3))
Traceback (most recent call last):
  ...
ValueError: substring not found

与find()方法相同,index()方法也可以指定查找的起始位置和结束位置。

正则表达式

使用正则表达式可以匹配一个字符串中的任意模式,这样我们就可以判断一个字符串是否包含另一个字符串了。Python中提供了re模块来支持正则表达式操作。

示例代码如下:

import re

str1 = "hello python"
str2 = "python"
pattern = re.compile(str2)
result = pattern.search(str1)
if result:
    print("Match found!")
else:
    print("Match not found.")

上面的代码中,我们使用re.compile()方法编译了一个正则表达式,然后使用search()方法来搜索字符串。如果找到了,则返回一个Match对象,否则返回None。

小结

本文介绍了四种判断一个字符串是否包含另一个字符串的方法:

  • in运算符
  • find()方法
  • index()方法
  • 正则表达式

在实际开发中,我们可以根据具体情况使用不同的方法来解决问题。