截取指定范围的字符串函数:str_between()
    2019-08-29
  
描述

  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