[英]Extracting one word based on special character using Regular Expression in C#
[英]Find special character in string and change it using Regular expression in C#
我試圖在字符串中找到'&'
字符, "and"
使用正則表達式將其與"and"
字符串切換,但是顯然我做錯了。
這是代碼的一部分,該代碼檢查是否有'&'
符號,如果有,則應將其更改為"and"
。
if (Regex.IsMatch(toCheck, @"[^&]"))
return Regex.Replace(toCheck, @"[^&]", "and");
作為結果,我得到的是僅包含'&'
符號的字符串。 有人可以幫我解決這個正則表達式問題,這讓我有些困惑。 謝謝!
我只是使用常規的字符串函數來做到這一點:
return toCheck.Replace("&","and");
如果您確實想使用正則表達式執行此操作,則您的函數有點錯誤, [^&]
實際上表示其中不包含&
。 刪除它,你會好起來的。 甚至沒有必要將其放在方括號中,因為它不是正則表達式中的特殊字符。 請記住,不要將正則表達式用於諸如搜索一個字符並將其替換之類的瑣碎事情,它是使用大錘破解螺母的。
如果要替換,則無需與IsMatch進行檢查,如果沒有發生,則不會替換。
另外,簡單的字符串替換就足夠了,您不需要正則表達式即可解決:
Console.WriteLine("Hello&World&Mars".Replace("&", " and "));
這就夠了
[^&]表示所有不等於&
字符 。
^反轉選擇
如果字符串中包含“&”字符,這將對字符串執行檢查!
if(Regex.IsMatch(toCheck,@"[&]"))
//do whatever you want to
盡管有很多討論正則表達式的主題,您可以訪問其中的任何一個。 在這里,我為您提供了一個鏈接,您可以在這里簡要學習正則表達式!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.