[英]Find First Word matching from Given Text - Regex
我想從正則文本中找到匹配的第一個單詞,並使用正則表達式替換為另一個單詞。
考慮以下字符串作為示例文本
您的商品是哪種類型? 我想該項目不是字符串,如果可以的話,您可以覆蓋該項目類中的ToString()方法並使用jayant的代碼。
我想在其中搜索第一個“項目”詞,然后將其替換為文本“ hello”。 記住,我只想替換第一個“ item”一詞,而不是全部。
因此,上述文本的輸出將類似於以下內容。
你好是哪種類型? 我想該項目不是字符串,如果可以的話,您可以覆蓋該項目類中的ToString()方法並使用jayant的代碼。
我正在使用C#編程來做到這一點,並且如果可能的話,我寧願使用Regex。
誰能幫我這個忙。
您可以將Regex.Replace()
方法與第三個參數一起使用(最大替換量):
Regex rgx = new Regex("item");
string result = rgx.Replace(str, "hello", 1);
(盡管在這種情況下,您實際上不需要正則表達式,因為您正在搜索常量。)
如果您願意接受非正則表達式替代方案,則可以執行以下操作
public static string ReplaceOnce(this string input, string oldValue, string newValue)
{
int index = input.IndexOf(oldValue);
if (index > -1)
{
return input.Remove(index, oldValue.Length).Insert(index, newValue);
}
return input;
}
//
Debug.Assert("bar bar bar".ReplaceOnce("bar", "foo").Equals("foo bar bar"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.