[英]Regex “Append” or “Replace” only the first letter of each word?
如果我有兩個字,例如“ ga?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
來完成您所要求的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.