如果我有兩個詞,如「嘎?ABG」正則表達式「追加」或「替換」每個單詞的第一個字母?
我想,如果他們匹配,除去在第二個單詞的前兩個字符「?a」並取出後的「b」和追加到第一字?
我該怎麼做?請幫忙
string five ="ga ?abg";
string T = Regex.Replace(five, "?a", " ");
但是如何追加第一個「b」?
結果應該是「gab g」。
如果我有兩個詞,如「嘎?ABG」正則表達式「追加」或「替換」每個單詞的第一個字母?
我想,如果他們匹配,除去在第二個單詞的前兩個字符「?a」並取出後的「b」和追加到第一字?
我該怎麼做?請幫忙
string five ="ga ?abg";
string T = Regex.Replace(five, "?a", " ");
但是如何追加第一個「b」?
結果應該是「gab g」。
我猜你想要這樣的東西,雖然我不使用C#,所以語法可能是錯誤的。 (另外,你的描述是混亂的,所以我可能不會明白你想要的)
Regex.Replace(five, "([^ ]+) \\?a([^ ])", "$1$2")
其中:
任何特殊的原因,這必須是正則表達式?
string answer;
string[] split = five.Split(' ');
if (split.Length == 2 && split[0].Length > 0 && split[1].StartsWith("?a") && split[1].Length > 3)
{
answer = string.Format("{0}{1} {2}", split[0], split[1].Substring(2, 1), split[1].Substring(3));
}
else
{
answer = five;
}
或者,您可以使用MatchEvaluator Delegate,但仍然需要自定義代碼。我不認爲你可以通過簡單的Regex.Replace
來完成你的要求。
不,如果有其他方式,它對我來說只是新手而已 – Iman25
對不起,您想得到什麼結果? – Ryan
第一個拖延字符? – anonymous
'兩個單詞如「ga?abg」'他們*單詞*? 「單詞」是什麼意思? –