python查找指定字符所在行号_python查找字符串中某个字符
本文收集整理關(guān)于python查找字符串中某個字符的相關(guān)議題,使用內(nèi)容導(dǎo)航快速到達。
內(nèi)容導(dǎo)航:
Q1:Python里統(tǒng)計一個字符串中另一個字符串的個數(shù)
答案為3(用正則):1234>>>importre>>>s=abababab>>>len(re.findall(r(?=aba),s))3
答案為2,用字符串的count方法:1234>>>importstring>>>s=abababab>>>s.count(aba)2
替換第二個aba’為‘bab’,用字符串的切片方法(可能方法丑陋了點,初學(xué)者見諒):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開始的下標(biāo)值,若找不到返回-1、info = abca
print info.find(a)##從下標(biāo)0開始,查找在字符串里第一個出現(xiàn)的子串,返回結(jié)果:0
info = abca
print info.find(a,1)##從下標(biāo)1開始,查找在字符串里第一個出現(xiàn)的子串:返回結(jié)果3、
info = abca
print info.find(333)##返回-1,查找不到返回-1、
2 index()方法:
python 的index方法是在字符串里查找子串第一次出現(xiàn)的位置,類似字符串的find方法,不過比find方法更好的是,如果查找不到子串,會拋出異常,而不是返回-1、info = abca
print info.index(a)
print info.index(33)
rfind和rindex方法用法和上面一樣,只是從字符串的末尾開始查找
Q4:python怎么得到字符串中每個字符的個數(shù)
使用正則表達式,用法如下:
1、2、3、4、5、6、7、8、9、10、11、12、13、
## 總結(jié)
## ^ 匹配字符串的開始。
## $ 匹配字符串的結(jié)尾。
## \b 匹配一個單詞的邊界。
## \d 匹配任意數(shù)字。
## \D 匹配任意非數(shù)字字符。
## 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 函數(shù)返回對象的 groups() 函數(shù)獲取它的值。
## 正則表達式中的點號通常意味著 “匹配任意單字符”
解題思路:
2.1 既然是提取數(shù)字,那么數(shù)字的形式一般是:整數(shù),小數(shù),整數(shù)加小數(shù);
2.2 所以一般是形如:----.-----;
2.3 根據(jù)上述正則表達式的含義,可寫出如下的表達式:"\d+\.?\d*";
2.4 \d+匹配1次或者多次數(shù)字,注意這里不要寫成*,因為即便是小數(shù),小數(shù)點之前也得有一個數(shù)字;\.?這個是匹配小數(shù)點的,可能有,也可能沒有;\d*這個是匹配小數(shù)點之后的數(shù)字的,所以是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]
總結(jié)
以上是生活随笔為你收集整理的python查找指定字符所在行号_python查找字符串中某个字符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle BAM添加企业消息源实现数
- 下一篇: GTA5时间线怎么变快