我想匹配字符串中的單詞與反向順序。正則表達式來匹配字符串順序
我們希望驗證提示用戶,如果名稱存在相反的順序。
例如:
如果name
列的值是, '病毒,網球'
現在,如果用戶輸入新的名稱與價值, '網球,病毒'
然後我們如何使用正則表達式或其他方式匹配單詞的逆序?
我正在使用C#.net進行開發。
我想匹配字符串中的單詞與反向順序。正則表達式來匹配字符串順序
我們希望驗證提示用戶,如果名稱存在相反的順序。
例如:
如果name
列的值是, '病毒,網球'
現在,如果用戶輸入新的名稱與價值, '網球,病毒'
然後我們如何使用正則表達式或其他方式匹配單詞的逆序?
我正在使用C#.net進行開發。
你可以看看在Regex.Split(String input, String regex),做一些像這樣:
String[] userEntry = Regex.Split(userString, "\\s+");
StringBuilder sb = new StringBuilder()
for (int i = userEntry.Length -1; i >= 0; i--)
{
sb.append(userEntry[i]).append(" ");
}
String result = sb.ToString();
//Do Validation
那會做的伎倆,但是,你必須記住,事情會得到,如果你確實有點亂不想改變諸如逗號之類的特殊符號的順序。你可以很容易地刪除這些,並做任何驗證沒有特殊符號。
編輯:這取決於你的意思是由特殊符號。正則表達式[^a-zA-z0-9]+
將匹配任何不是字母(大寫或小寫)的字符,也不是數字。所以,你可以很容易地做一些事情,像這樣:
string input = ...
string pattern = "[^a-zA-z0-9]+";
string replacement = "";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
以上應產生僅根據字母和數字做了一個字符串。白色空間也將被刪除。
你是什麼意思*匹配單詞*的反向順序? – aioobe
Pehaps,你可以添加你正在使用的語言嗎? – Shubham
我認爲你會更好地分割字符串,並反過來進行迭代。 – npinti