在两个数字之间以及在第一个逗号之后替换破折号

时间:2019-03-26 16:36:13

标签: regex replace notepad++

我在Notepad ++中使用正则表达式。

我需要在两个数字之间以及第一个逗号之后替换破折号。

我有:

ezofhzeifh,0045-6

fejoz-zkdz,2-4656

ceo45zd-45,5454-656

5454-4654,544-97241

我想要:

ezofhzeifh,0045+6

fejoz-zkdz,2+4656

ceo45zd-45,5454+656

5454-4654,544+97241

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

您可以使用模式sizeof( size_t ) == sizeof( ptrdiff_t )来匹配两位数之间的破折号-他们只需将其替换为cards = [{ name: 'card 1', disabledInput: true }, { name: 'card 2', disabledInput: true }] changeDisableState = (i) => { let cards = this.state.cards; cards[i].disabledInput = !cards[i].disabledInput; this.setState({cards}); } return this.state.cards.map((card, i) => ( <Checkbox key={card.id} onClick={() => this.changeDisableState(i)} /> <Input value={card.name} disabled={card.disabledInput}/> ));

答案 1 :(得分:0)

您可以使用此正则表达式,

,.*?\K(?<=\d)-(?=\d)

并用+

替换

在这里,,.*?\K部分与逗号和一些可选文本尽可能地匹配,\K重置所有匹配项,而(?<=\d)-(?=\d)部分与前面的连字符-相匹配。后跟一个数字。

经过测试,可在Notepad ++ v 7.6.1中运行

Online Demo

替换之前,

enter image description here

替换后,

enter image description here

答案 2 :(得分:0)

寻找逗号,后跟一些数字,再加上破折号。

,\d+\K-

然后,将其替换为+

Here is a demo