2013-05-02 160 views
0

我想讓每個字符串是這樣的:替換特殊字符或空格 -

"this-is-string-one" 

所以主字符串可以包含:

"This! is string, one" 

所以basicaly取代,空格和字符!?。像「 - 」一樣。

+0

http://stackoverflow.com/questions/668228/string-replacement-in-objective- c – 2013-05-02 22:10:40

回答

3

像這樣的東西是最好的正則表達式處理:

NSString *someString = @"This! is string, one"; 
NSString *newString = [someString stringByReplacingOccurrencesOfString:@"[!?., ]+" withString:@"-" options: NSRegularExpressionSearch range:NSMakeRange(0, someString.length)]; 
NSLog(@"\"%@\" was converted to \"%@\"", someString, newString); 

輸出將是:

「!這是字符串,一個」轉化爲「這,是串-one「

正則表達式[!?., ]+表示在方括號之間列出的一個或多個字符的任何序列。

更新:

如果要截斷任何尾部連字符,那麼你可以這樣做:

if ([newString hasSuffix:@"-"]) { 
    newString = [newString substringToIndex:newString.length - 1]; 
} 
+0

如果 - 是最後一個,我可以切斷嗎?「sting-strong-」需要「sting-stong」 – user1832330 2013-05-02 22:33:18

+0

@ user1832330請參閱我對該問題的更新答案。 – rmaddy 2013-05-02 22:38:55