str_between() 截取指定字符串中間的字符串。
str_between() 接收四個(gè)參數(shù),第一個(gè)為要處理的字符串,第二個(gè)為開(kāi)始字符串,第三個(gè)為截取范圍,第四個(gè)為結(jié)束字符串。
以下是 str_between() 的語(yǔ)法:
# start、end參數(shù)出現(xiàn)特殊字符的時(shí)候要使用\進(jìn)行轉(zhuǎn)義,需要轉(zhuǎn)義的字符有:()[]{}.*?^$\+| str_between(word, start, flag=0, end='')
● word [str]:要處理的字符串。
● start [str]:開(kāi)始字符串,為空時(shí)從開(kāi)頭截取,特殊字符需要轉(zhuǎn)義。
● flag [int]:
0 取 start 之前的字符,不包含 start [start首次出現(xiàn)以前]。
1 取 start 與 end 之間的字符,不包含 start 和 end [start與end首次出現(xiàn)]。
2 取 start 與 end 之間的字符,包含 start 和 end [start與end首次出現(xiàn)]。
3 取 start 之后的字符,不包含 start [start首次出現(xiàn)之后]。
4 取 start 與 end 之間的字符,不包含 start 和 end [start首次出現(xiàn),end最后一次出現(xiàn)]。
● end [str]:結(jié)束字符串,特殊字符需要轉(zhuǎn)義。
返回截取后的字符串。
以下展示了使用 str_between() 的實(shí)例:
from kyger.utility import str_between print(str_between('python -v (3.7.3,demo) [(2019.06.03,AMD64,-v)]', ' -v', flag=0, end='')) # 截取-v之前的字符串 print(str_between('python -v (3.7.3,demo) [(2019.06.03,AMD64,-v)]', '\) \[\(', flag=1, end=',')) # 截取時(shí)間 print(str_between('python -v (3.7.3,demo) [(2019.06.03,AMD64,-v)]', '\(', flag=2, end='\)')) # 截取第一對(duì)小括號(hào)中的內(nèi)容包含括號(hào)本身 print(str_between('python -v 3.7.3', '-v', flag=3, end='')) # 截取' - v'之后的內(nèi)容 print(str_between('python -v (3.7.3(new:3.7.4))', start='\(', flag=4, end='\)')) # 截取最外層括號(hào)里的內(nèi)容,不包含括號(hào)本身
以上實(shí)例運(yùn)行后輸出的結(jié)果為:
'python' '2019.06.03' '(3.7.3,demo)' ' 3.7.3' '3.7.3(new:3.7.4)'