iOS正規表示式替換乙個或乙個以上空格

2021-09-01 21:35:20 字數 906 閱讀 8902

碰到乙個問題,要將乙個字串中的空格替換成「-」,乙個以上的「-」要減少到乙個,比如:

替換前:

你 好 - 嗎?

替換後你-好-嗎?

這裡需要兩步,先將空格替換成「-」,再將多個「-」合併為乙個。

第一步很好解決:

nsstring *str = @「你 好 - 嗎?」;  

str = [str stringbyreplacingoccurrencesofstring:@" " withstring:@"-"];

替換後str=@「你-好---嗎?」。

然後就是合併多個「-」,這裡有個簡單的方法:

在ios中是支援正規表示式的,利用正規表示式能夠方便快速的達到目的;

nsregularexpression *regular;  

regular = [[nsregularexpression alloc] initwithpattern:@"-"

options:nsregularexpressioncaseinsensitive

error:nil];

str = [regular stringbyreplacingmatchesinstring:str options:nsregularexpressioncaseinsensitive range:nsmakerange(0, [str length]) withtemplate:@"-"];

去除字串中所有得空格及控制字元:

str = [str stringbytrimmingcharactersinset:[nscharacterset whitespaceandnewlinecharacterset ]];

乙個正規表示式的例子

需求 通過.net的正則 上面3個都得到 aa 並對語句稍微講解一下。謝謝。http w 這個是我寫的。不知道怎麼加上或者匹配www 還有?這個什麼意思查不到。解決 i 匹配模式,表示忽略大小寫,在.net中等價於在後面加regexoptions.ignorecase引數 http www 肯定逆序...

乙個新人理解正規表示式

知識點 1 表單驗證 針對於 非空驗證 去空格 非空驗證是什麼呢,就是說 當我輸入乙個賬號的時候不能輸入乙個空格就完事了,乙個空格或者多個空格絕對不是賬號,我們接收乙個賬號的時候首先要做的就是把他的前後空格給去掉,然後判斷一下他是不是空的,如果是空的那麼就提示他輸入有誤。對比驗證 跟乙個值對比 就是...

乙個奇怪的正規表示式

昨天,我在做網路爬蟲的時候,遇到了乙個 對文字框的輸入作了編碼處理 具體作了什麼樣的處理,前面幾句用了js的replace方法,替換了一些特殊符號,後面用了乙個正規表示式進行了特殊的編碼工作。我當時的文字 acm task force on k 12 education and technology...