Section Menu:  

截取指定范围的字符串函数:str_between()

  • 发布时间: 2019-08-28 00:00
  •    阅读: 1609   

描述

str_between() 截取指定字符串中间的字符串。
str_between() 接收四个参数,第一个为要处理的字符串,第二个为开始字符串,第三个为截取范围,第四个为结束字符串。


 
语法

以下是 str_between() 的语法:

# start、end参数出现特殊字符的时候要使用\进行转义,需要转义的字符有:()[]{}.*?^$\+|
str_between(word, start, flag=0, end='')

参数

    ● word [str]:要处理的字符串。
    ● start [str]:开始字符串,为空时从开头截取,特殊字符需要转义。
    ● flag [int]:
        0 取 start 之前的字符,不包含 start [start首次出现以前]。
        1 取 start 与 end 之间的字符,不包含 start 和 end [start与end首次出现]。
        2 取 start 与 end 之间的字符,包含 start 和 end [start与end首次出现]。
        3 取 start 之后的字符,不包含 start [start首次出现之后]。
        4 取 start 与 end 之间的字符,不包含 start 和 end [start首次出现,end最后一次出现]。
    ● end [str]:结束字符串,特殊字符需要转义。


返回值

返回截取后的字符串。


实例

以下展示了使用 str_between() 的实例:

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=','))  # 截取时间
print(str_between('python -v (3.7.3,demo) [(2019.06.03,AMD64,-v)]', '\(', flag=2, end='\)'))  # 截取第一对小括号中的内容包含括号本身
print(str_between('python -v 3.7.3', '-v', flag=3, end=''))  # 截取' - v'之后的内容
print(str_between('python -v (3.7.3(new:3.7.4))', start='\(', flag=4, end='\)'))  # 截取最外层括号里的内容,不包含括号本身

以上实例运行后输出的结果为:

'python'
'2019.06.03'
'(3.7.3,demo)'
' 3.7.3'
'3.7.3(new:3.7.4)'

适应版本

v1.0.1