stringfindpython
① 在python正則中我應該怎麼匹配 '+']&&&&['-'] 這個字元呢
正則的話
a="3****['+']&&&&['-']"
b = re.search("'\+'\]&&&&\['\-'\]",a)
另外為什麼非要用正則,直接string find不是更容易么?
② python中str.find和 in list的區別使用
在一個str中查找特定的字元串,使用string1.find(substring)的語法,這種查找時一種模糊查找;
但是在一個list中,如果判斷是否包含某個項目,是一個絕對的相等的比較,空格都需要匹配;
所以使用查找匹配時可以採用的方法是:
1.將list轉化為str之後模糊匹配:
比如 if str(list1).find(substring) != -1
2.將list中的所有的字元串都去掉特殊字元以及空格;
比如:
for item in list1:
item.replace(' ','')
再用if substring in list1:
③ python關鍵字的查詢方法
Python find() 方法檢測字元串中是否包含子字元串 str ,如果指定 beg(開始) 和 end(結束) 范圍,則檢查是否包含在指定范圍內,如果包含子字元串返回開始的索引值,否則返回-1。
str.find(str, beg=0, end=len(string))
str -- 指定檢索的字元串
beg -- 開始索引,默認為0。
end -- 結束索引,默認為字元串的長度。
初學者建議用上面的,進階可以用正則表達式
④ python 的一段代碼看不懂,求解答!
#這是一個類似計算器的程序,上邊的calculator函數你應該也能看懂。
#將一個字元串賦值給string這個變數
string=raw_input('pleaseenterthestring:')
#這是一個for循環,對trye這個列表進行迭代判斷。
forobjintrye:
#這里有兩個判斷條件string變數調用了find()和count()方法
#具體方法就不詳說了,自己翻書吧。
#I.string.find(obj)>-1使用find()查找string
#里是否包含trye列表的運算符,find(obj)判斷運算符在第幾個字元位置
#這里是'<-1』按照字元位置來算'-1'為最後一個字元。
#比如'1+2'這個字元串,運算符'+'號,就在第1個位置,1+2對應的字元位置
#就是012。
#II.count(obj)<2用來統計這個運算符在string里出現了多少次。
#2.string.count(obj)<2:這個地方定義了你運算符號的個數不能大於2
#也就是相同的運算符不能超過2個
ifstring.find(obj)>-1andstring.count(obj)<2:
#以上條件為真,將string按照運算符號分割存入number
number=string.split(obj)
#創建list空列表
list=[]
#使用for,構建一個list列表,這個地方append多寫了個p
foriinnumber:
list.apppend(i)
#list第一個元素賦值給number1,使用int()方法將字元轉換成整數類型。
number1=int(list[0])
#運算符賦值給i
i=obj
#list第二個元素賦值給number2,使用int()方法將字元轉換成整數類型。
number2=int(list[1])
#列印,並調用calculator函數,函數代入三個已經定義的參數。
printcalculator(number1,i,number2)
⑤ python中怎麼返回指定查找字元的位置
Python編程中對字元串進行搜索查找,並返回字元位置,案例代碼如下:
#
#usings.find(sub[,start[,end]])
#以下面test這段文本為例
text=''
##查找上面文本中的SA字元串
search='SA'
start=0
whileTrue:
index=text.find(search,start)
#ifsearchstringnotfound,find()returns-1
#searchiscomplete,breakoutofthewhileloop
ifindex==-1:
break
print("%sfoundatindex%d"%(search,index))
#
start=index+1
//運行結果:
#SAfoundatindex3
#SAfoundatindex31
#SAfoundatindex41
⑥ python 字元串是否包含指定字元
string.find( substr, [start, [end]] )
#返回調用對象中出現substr的第一個字母的標號,如果S中沒有substr則返回-1。start和end作用就相當於在S[start:end]中搜索
>>> str = "aaabbbbssssadasd"
>>> str.find("ab")
2
⑦ python簡單問題
用到的知識是python的string 類的一個方法,find()和index().
另外,第一行看起來少了一個 「=」。
學習python比其他語言更容易的原因就是寫代碼和測試很容易,這也是所有腳本語言的優勢。
⑧ 問一下python正則表達式find函數的問題!
findall是返回所匹配的字元串,返回的是一個列表,並不返回match對象,match對象才有start,span方法
import re
matchs=re.finditer(r'\w+',"This is a test")
for match in matchs:
print( match.start(),match.span())
想找到所有匹配字元串的索引用finditer吧