正则表达式 - 将 x{n} 替换为 x{n-2}
本文关键字:n-2 替换 正则表达式 | 更新日期: 2023-09-27 18:35:00
假设我有这个字符串:
var inputStr="AAAA AAAAAAAA AAA AAAAA";
(这里的假设是我不知道字符串中每个"A..."序列的大小。
我需要一种简单的方法来从该字符串中的每个"A..."序列中减少 2 个"A"字符
像这样:
var result=Regex.Replace(inputStr,...);
因此,此示例的结果将是:"AA AAAAAA A AAA"
(
谢谢。。。
更新:
感谢所有回复,
我想使这个问题更笼统。
示例 2:
var inputStr="bbbAAAAC1AAAAAAAA AAA AAAAArrr"
结果应该是:
"bbbAAC1AAAAAA A AAArrr"
var result=Regex.Replace(inputStr,@"(A*)A{2}(?!A)","$1");
尝试:
var result = Regex.Replace(inputStr, "(A*)AA", "$1");
如果你知道所有的"单词"都是A
s,你可以用这个替换:
var result=Regex.Replace(inputStr,@"AA'b","");
正则表达式替换的正则表达式101演示
根据编辑,更一般的模式是:
var result=Regex.Replace(inputStr,@"AA(?!A)","");
正则表达式101演示
使用正则表达式,尽管您并不真正需要它。
var result=Regex.Replace(inputStr,@"(?i)aa","AA");
(?i( 确保它检查所有情况的 a。
虽然不是正则表达式,但它可以工作
String.Join(" ", inputStr.Split().Select(x => x.Substring(0, x.Length - 2)).ToArray());