Groovy - 在两个不同的字符串之间提取字符串[重复]
Posted
技术标签:
【中文标题】Groovy - 在两个不同的字符串之间提取字符串[重复]【英文标题】:Groovy - Extract a string between two different strings [duplicate] 【发布时间】:2018-05-11 14:03:26 【问题描述】:我有以下格式的文件名 -
India_AP_Dev1.txt
USA_GA_QA2.txt
USA_NY_AWSDev1.txt
AUS_AA_BB_QA4.txt
我只想从文件名中提取环境部分,即Dev1, QA2, AWSDev1, QA4
etc。我该如何处理这种类型的文件名。我想过substring
,但环境长度不是恒定的。是否可以使用regex
感谢您的帮助。 TIA
【问题讨论】:
【参考方案1】:使用环视绝对是可能的:
(?<=_)[^._]*(?=\.)
(?<=_)
匹配前面是 _
[^._]
取除.
和_
之外的所有字符
(?=\.)
匹配后跟 .
Demo
【讨论】:
def regexformat = "(?<=_)[^._]*(?=\.)" Matcher digitMatcher = Pattern.compile(regexformat).matcher(jsoname);
我正在尝试这种方式,但我看到了错误unexpected char: '\'
。请有任何建议。 jsoname
会有我的文件名
发现问题,需要多一个`\`
感谢 PJ。这就像一个魅力!以上是关于Groovy - 在两个不同的字符串之间提取字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在SOAP UI中使用groovy从字符串中提取数字id