//搜尋匹配演算法
//高亮中間的字串
//nsstring *astring = @"i am a string, not a astring, just a string";
- (nsmutableattributedstring *)newsetsearchresultstringcolor:(nsstring *)importstring
//獲取substring_2的下標位置
nsarray *substring_2_array=[importstring componentsseparatedbystring:substring_2];
nsmutablearray *arrayoflocation2 = [nsmutablearray array];
d = 0;
for (int i = 0; i < substring_2_array.count - 1; i++)
//高亮中間string 刪除標記string
nsinteger i = arrayoflocation1.count - 1;
nsinteger j = arrayoflocation2.count - 1;
for ( ;i >= 0 && j >= 0; i-- ,j--) ;
[resultstring addattribute:nsforegroundcolorattributename value:[uicolor bluecolor] range:nsmakerange(range.location,range.length)];
nsrange locationrange_1 = ;
nsrange locationrange_2 = ;
[resultstring deletecharactersinrange:locationrange_2];
[resultstring deletecharactersinrange:locationrange_1];
}return resultstring;
}
//nsstring *inputstring = @" a of american";
//nsstring *showstring = @"of i am office a of and american";
//inputstring是輸入的字元,要讓showstring中所有與inputstring想匹配的單詞高亮
- (nsmutableattributedstring *)showheightlightlabel:(nsstring*)inputstring showlabel:(nsstring*)showlabel
nsrange chartrange = nsmakerange(location, chart.length);
[resultstring addattribute:nsforegroundcolorattributename value:[uicolor bluecolor] range:nsmakerange(chartrange.location,chartrange.length)];
location += chart.length;}}
return resultstring;
}
需求中要求忽略某些文字開頭的內容,所以引入ignorestring
此演算法可以相容上面的高亮演算法
//nsstring *inputstring = @" a of american";
//nsstring *showstring = @"of i am office a of and american";
//inputstring是輸入的字元,要讓showstring中所有與inputstring想匹配的單詞高亮
//需求中要求忽略某些文字開頭的內容,所以引入ignorestring
//此演算法可以相容上面的高亮演算法
- (nsmutableattributedstring *)showheightlightlabel:(nsstring*)inputstring showlabel:(nsstring*)showlabel withignorestring:(nsstring *)ignorestring
nsrange chartrange = nsmakerange(location, chart.length);
[resultstring addattribute:nsforegroundcolorattributename value:[uicolor bluecolor] range:nsmakerange(chartrange.location,chartrange.length)];
location += chart.length;}}
return resultstring;
}
NSString字元編碼
最近再開發ios程式的時候,發現從url取得的utf8編碼資料中文部分顯示為亂碼,為此在網上查詢了一些資料,對nsstring的編碼問題做一下總結 幫助文件列出的nsstring支援的編碼 enum 列表中很多編碼都沒有,原來這個列表沒有把全部的編碼列出來,通過以下 可以列出nsstring支援的全...
NSString 去除特殊字元
字串過濾 nscharacterset donotwant nscharacterset charactersetwithcharactersinstring 先將 tempstring 用上面的 set 截成乙個陣列,然後在用這個陣列拼成乙個字串 tempstring tempstring com...
NSString字串擷取
1.擷取字串一部分 substringwithrange nsrange nsstring a 01234567890 nsstring b a substringwithrange nsmakerange 0,2 b 01 2.字串擷取到第n位 substringtoindex n 第n位不在擷取...