本文收集整理关于python查找字符串中某个字符的相关议题,使用内容导航快速到达。
内容导航:
Q1:Python里统计一个字符串中另一个字符串的个数
答案为3(用正则):1234>>>importre>>>s=abababab>>>len(re.findall(r(?=aba),s))3
答案为2,用字符串的count方法:1234>>>importstring>>>s=abababab>>>s.count(aba)2
替换第二个aba’为‘bab’,用字符串的切片方法(可能方法丑陋了点,初学者见谅):123456789>>>s=abababab>>>pos=s.find(aba)>>>sNew=s[pos+1:].replace(aba,bab,1)>>>ifpos==0:...s[pos]+sNew...elifpos>0:...s[:pos]+sNew...abbabbab
Q2:python 新手请教,用python取字符串中最后的一个特定字符之前的字符串,谢谢了
123s="C:/Python27/1/3.py"pos=s.rfind("/")s[:pos]#"C:/Python27/1"
Q3:如何在Python字符串列表中查找出指定字符所在字符串
python 字符串查找有4个方法,1 find,2 index方法,3 rfind方法,4 rindex方法。
1 find()方法:查找子字符串,若找到返回从0开始的下标值,若找不到返回-1、info = abca
print info.find(a)##从下标0开始,查找在字符串里第一个出现的子串,返回结果:0
info = abca
print info.find(a,1)##从下标1开始,查找在字符串里第一个出现的子串:返回结果3、
info = abca
print info.find(333)##返回-1,查找不到返回-1、
2 index()方法:
python 的index方法是在字符串里查找子串第一次出现的位置,类似字符串的find方法,不过比find方法更好的是,如果查找不到子串,会抛出异常,而不是返回-1、info = abca
print info.index(a)
print info.index(33)
rfind和rindex方法用法和上面一样,只是从字符串的末尾开始查找
Q4:python怎么得到字符串中每个字符的个数
使用正则表达式,用法如下:
1、2、3、4、5、6、7、8、9、10、11、12、13、
## 总结
## ^ 匹配字符串的开始。
## $ 匹配字符串的结尾。
## \b 匹配一个单词的边界。
## \d 匹配任意数字。
## \D 匹配任意非数字字符。
## x? 匹配一个可选的 x 字符 (换言之,它匹配 1 次或者 0 次 x 字符)。
## x* 匹配0次或者多次 x 字符。
## x+ 匹配1次或者多次 x 字符。
## x{n,m} 匹配 x 字符,至少 n 次,至多 m 次。
## (a|b|c) 要么匹配 a,要么匹配 b,要么匹配 c。
## (x) 一般情况下表示一个记忆组 (remembered group)。你可以利用 re.search 函数返回对象的 groups() 函数获取它的值。
## 正则表达式中的点号通常意味着 “匹配任意单字符”
解题思路:
2.1 既然是提取数字,那么数字的形式一般是:整数,小数,整数加小数;
2.2 所以一般是形如:----.-----;
2.3 根据上述正则表达式的含义,可写出如下的表达式:"\d+\.?\d*";
2.4 \d+匹配1次或者多次数字,注意这里不要写成*,因为即便是小数,小数点之前也得有一个数字;\.?这个是匹配小数点的,可能有,也可能没有;\d*这个是匹配小数点之后的数字的,所以是0个或者多个;
代码如下:
1、2、3、4、5、6、7、
# -*- coding: cp936 -*-
import re
string="A1.45,b5,6.45,8.82"
print re.findall(r"\d+\.?\d*",string)
# [1.45, 5, 6.45, 8.82]