我有2案件字符串我需要GSUB:如何有条件地更换前缀或前缀/后缀GSUB
前缀始终是相同的:前xxx
中间可能是hhh
或yyy
'xxx-hhh-111'
'xxx-yyy-aaa'
我在这两种情况下需要做的是始终删除前缀:xxx
因此,此工作正常:
'xxx-yyy-aaa'.gsub('xxx', '')
结果:
'-yyy-aaa'
但有时我需要检查身体是否hhh
,如果属实,那么去掉前缀和后缀(图案是后缀会随机数字)
我猜我可以用正则表达式来完成这个任何想法?
所以我找当字符串是xxx-hhh-111
的结果是:
'hhh'
最简单的方法是将2条语句,一个是第一始终在卸下XXX我使用上述
这和一个只是检查是否存在hhh
,如果这样返回hhh
例如:
if 'xxx-hhh-111'.include('hhh')
'hhh'
,但如果我能做到的机器人^ h例1条语句,这将是不错...
[''XXX-YYY-111'.match /xxx(.*)- 111 /'](https://repl.it/BXN2/1) – potashin
抱歉,不得不解决我的问题......但。匹配很好,不知道,将研究 – Bodao
['^ xxx(?:( - (?!HHH)[^ - ] * - [^ - ] *)| - (HHH) - [^ - ] *)$'](https://regex101.com/r/hA9qT1/1)。 [Ruby演示](http://ideone.com/Dbea3e)。 –