python字符串常用操作

目录

  • 1. find() 字符串查找
  • 2. 字符串匹配 6 种方法

1. find() 字符串查找

python字符串find的应用

查找到字符串的位置,给出所在字符串的下标位置。如下给出的只是下标第6个:

a = "伤感+上单=乱杀"
#    01 23 4 567
print(a.find("乱杀"))
print(a.find("乱"))

输出:

6
6

找不到返回-1

a = "伤感+上单=乱杀"
#     0 12 34 5 67
print(a.find("多杀"))

输出:

-1

没有定义其它参数,一般只输出顺着下标的第一个字符的位置,后面相同的忽略

a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪"))
# 7

指定位置之后开始查找,第二个参数**“开始位置”**

a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪", 9))
# 19

指定结束查找位置 第三个参数为"结束位置"

a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪", 8, 21))
# 19

找不到返回-1

a= "猥亵男人是什么罪?猥亵女装大佬又是什么罪?"
print(a.find("罪", 8, 18))
# -1

2. 字符串匹配 6 种方法

  1. re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
import re

line="this hdr-biz 123 model server 456"
pattern=r"123"
matchObj = re.match( pattern, line)
  1. re.search 扫描整个字符串并返回第一个成功的匹配。
import re

line="this hdr-biz model server"
pattern=r"hdr-biz"
m = re.search(pattern, line)
  1. Python 的re模块提供了re.sub用于替换字符串中的匹配项。
import re

line="this hdr-biz model args= server"
patt=r'args='
name = re.sub(patt, "", line)
  1. compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match()search() 这两个函数使用。
import re

pattern = re.compile(r'\d+') 
  1. re.findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
import re

line="this hdr-biz model args= server"
patt=r'server'
pattern = re.compile(patt)
result = pattern.findall(line)
  1. re.finditer 和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
import re

it = re.finditer(r"\d+","12a32bc43jf3")
for match in it:
  print (match.group() )

你可能感兴趣的:(#,字符串,python,mysql,数据库)