字符串比較我有特殊字符的字符串如無特殊字符
"ravi", "Ravi" ,"!ravi","ravi...","RaVi)" etc..
我希望所有這些被視爲相同。如何實現這一點。 可以在shell腳本中,C,C++,JAVA。
感謝, 拉維。
字符串比較我有特殊字符的字符串如無特殊字符
"ravi", "Ravi" ,"!ravi","ravi...","RaVi)" etc..
我希望所有這些被視爲相同。如何實現這一點。 可以在shell腳本中,C,C++,JAVA。
感謝, 拉維。
的Java:str.toLowercase().replace("[^a-zA-Z]", "")
將使他們都在小寫字母與特殊字符刪除,因此所有equal()
編輯面面俱到不字母爲「特殊」
使用找到功能使用C++中的字符串來查找您的案例「ravi」中的子字符串的發生。
size_t find (const string& str, size_t pos = 0) const;
它會返回您在主字符串中的子字符串的起始索引。
通過利用這些信息,你可以操縱字符串按照您的要求。
可能更好地使用正則表達式從而消除任何的OP不希望(例如,'[^ A-ZA-Z]')。當然,這取決於OP_does_想要哪個字符範圍,這在問題中是不明顯的。 – jtahlborn 2011-06-04 13:30:22
刪除'toLowercase()'與'equalIgnoreCase(比較)'或只是刪除'AZ'在正則表達式 – 2011-06-04 15:07:01
是頂替將使* 「早晨」 *同等對待爲*「)M *#$%)_哦!@ #$ R)(&N(*&^ I(&%*%N(*&!#$ g_01241" *,我不知道這是OP想要什麼:) – SyntaxT3rr0r 2011-06-04 17:58:02