嗨,我有一个字符串,例如aaaaabbbaaaababababaaaaabaaa。现在我想能够去第N个地方,如果它是“a”替换为“b”,如果它是“b”替换为“a”。
如果无法使用REGEX完成此操作,那么使用“a”查找和替换第N个字符的REGEX模式是什么。
一直试图找出REGEX,但它比德国人更复杂:(
由于
答案 0 :(得分:0)
某些正则表达式引擎中存在条件替换(至少是Boost,例如Notepad ++使用)。
假设您要在给定输入中切换第10个字符。使用此正则表达式找到它(正如您已设法):
(?<=^.{9})(?:(a)|b)
在该位置发生的字符将存储在组1中a
,如果b
则存在,否则存储在组3中。
如果找到a
或b
,则使用该条件替换模式将切换它,否则将保持不变:
?1b:a
您可以在Notepad ++中点击“全部替换”按钮进行测试。
注意:条件替换的另一个例子here。