字符串的處理

iOS字符串處理_替換(去掉空格換行)敌蚜、截取

以下代碼主要實(shí)現(xiàn)了:1窘哈、截取"@@"前的字符串; ?2雌澄、去掉字符串中的"##"倚喂; ?3每篷、去掉字符串中的空格和換行。

希望相互學(xué)習(xí)相互指正端圈。

-----ViewController.m內(nèi)容如下:------

#import "ViewController.h"

#import "HandleString.h"

@interface ViewController ()

{

NSString *_str;

NSString *_tempStr;

UILabel *_label;

}

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

#pragma -----1.截取@@前面的內(nèi)容 2.去掉## 3.去掉空格換行

_str = @"靜夜思##\n床前 ? 明月光\n##疑是 ? ##地上霜\n舉頭@@ ? 望明月\n低頭 ? 思故鄉(xiāng)";

_tempStr = _str;

[self createSubview];

}

- (void)createSubview{

_label = [[UILabel alloc]init];

CGRect temp = self.view.frame;

temp.origin.x += 20;

temp.origin.y += 80;

temp.size.width -= 40;

temp.size.height = 150;

_label.frame = temp;

_label.textAlignment = NSTextAlignmentCenter;

_label.lineBreakMode = NSLineBreakByWordWrapping;

_label.numberOfLines = 0;

_label.text = _str;

_label.textColor = [UIColor greenColor];

_label.backgroundColor = [[UIColor blueColor]colorWithAlphaComponent:0.3];

[self.view addSubview:_label];

for (NSInteger i = 0; i<4; i++) {

UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];

btn.frame = CGRectMake(0, CGRectGetMaxY(_label.frame)+50*(i+1), 150, 40);

CGRect a = btn.frame;

a.origin.x = self.view.center.x - a.size.width/2;

btn.frame = a;

btn.backgroundColor = [UIColor cyanColor];

NSArray *arr = @[@"截取@@前面的內(nèi)容",@"去掉##",@"去掉空格換行",@"還原"];

[btn setTitle:arr[i] forState:UIControlStateNormal];

btn.tag = 10 + i;//tag分別為10焦读,11,12舱权,13

[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:btn];

}

}

- (void)click:(UIButton *)button{

NSInteger x = button.tag;

switch (x) {

case 10:

_tempStr = [HandleString handleString:_tempStr interceptFrom:nil to:@"@"];

break;

case 11:

_tempStr = [HandleString handleString:_tempStr replace:@"##" with:@" "];

break;

case 12:

_tempStr = [HandleString delSpaceAndNewline:_tempStr];

break;

case 13:

_tempStr = _str;

break;

default:

break;

}

_label.text = _tempStr;

}

- (void)didReceiveMemoryWarning {

[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

------HandleString.h的內(nèi)容如下:---------

#import

@interface HandleString : NSObject

//用str2替換str1

+ (NSString *)handleString:(NSString *)string replace:(NSString *)str1 with:(NSString *)str2;

//從str1(包括)矗晃,截取字符串到str2(不包括)

+ (NSString *)handleString:(NSString *)string interceptFrom:(NSString *)str1 to:(NSString *)str2;

//去掉字符串中的空格、換行

+ (NSString *)delSpaceAndNewline:(NSString *)string;

@end

------HandleString.m的內(nèi)容如下:---------

#import "HandleString.h"

@implementation HandleString

+ (NSString *)delSpaceAndNewline:(NSString *)string;{

NSMutableString *mutStr = [NSMutableString stringWithString:string];

NSRange range = {0,mutStr.length};

[mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];

NSRange range2 = {0,mutStr.length};

[mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range2];

return mutStr;

//? ? string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和換行字符

//? ? string = [string stringByReplacingOccurrencesOfString:@" " withString:@""];

//? ? string = [string stringByReplacingOccurrencesOfString:@"\n" withString:@""];

//? ? return string;

}

#pragma -----如果字符串中有str1,用str2替換掉

+ (NSString *)handleString:(NSString *)string replace:(NSString *)str1 with:(NSString *)str2;{

if (str2 == nil) {

str2 = @"";

}

//? ? //方式一

//? ? NSMutableString *tempStr = [NSMutableString stringWithString:string];

//? ? NSRange range = {0,tempStr.length};

//? ? [tempStr replaceOccurrencesOfString:str1 withString:str2 options:NSLiteralSearch range:range];

//? ? return tempStr;

//? ? //方式二

//? ? string = [string stringByReplacingOccurrencesOfString:str1 withString:str2];

//? ? return string;

//方式三

NSArray *array = [string componentsSeparatedByString:str1];

NSInteger count = [array count] - 1;

NSMutableString *tempStr = [NSMutableString stringWithString:string];

for (NSInteger i = 0; i

NSRange range = [tempStr rangeOfString:str1];

NSInteger location = range.location;

NSInteger length = range.length;

if (location != NSNotFound) {

[tempStr replaceCharactersInRange:NSMakeRange(location, length) withString:str2];

}

}

return tempStr;

}

#pragma ------從字符串str1,截取到str2

+ (NSString *)handleString:(NSString *)string interceptFrom:(NSString *)str1 to:(NSString *)str2;{

if (str1 == nil) {

str1 = @"";

}

if (str2 == nil) {

str2 = @"";

}

NSRange range1 = [string rangeOfString:str1];

NSInteger location1 = range1.location;

if (location1 != NSNotFound) {

string = [string substringFromIndex:location1];

}

NSRange range2 = [string rangeOfString:str2];

NSInteger location2 = range2.location;

if (location2 != NSNotFound) {

string = [string substringToIndex:location2];

}

return string;

}

@end

END

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宴倍,一起剝皮案震驚了整個(gè)濱河市张症,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸵贬,老刑警劉巖俗他,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阔逼,居然都是意外死亡兆衅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門嗜浮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來羡亩,“玉大人,你說我怎么就攤上這事危融∥访” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵专挪,是天一觀的道長及志。 經(jīng)常有香客問我,道長寨腔,這世上最難降的妖魔是什么速侈? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮迫卢,結(jié)果婚禮上倚搬,老公的妹妹穿的比我還像新娘。我一直安慰自己乾蛤,他們只是感情好每界,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布捅僵。 她就那樣靜靜地躺著,像睡著了一般眨层。 火紅的嫁衣襯著肌膚如雪庙楚。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天趴樱,我揣著相機(jī)與錄音馒闷,去河邊找鬼。 笑死叁征,一個(gè)胖子當(dāng)著我的面吹牛纳账,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捺疼,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼疏虫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了啤呼?” 一聲冷哼從身側(cè)響起卧秘,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媳友,沒想到半個(gè)月后斯议,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡醇锚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了坯临。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焊唬。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖看靠,靈堂內(nèi)的尸體忽然破棺而出赶促,到底是詐尸還是另有隱情,我是刑警寧澤挟炬,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布鸥滨,位于F島的核電站,受9級特大地震影響谤祖,放射性物質(zhì)發(fā)生泄漏婿滓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一粥喜、第九天 我趴在偏房一處隱蔽的房頂上張望凸主。 院中可真熱鬧,春花似錦额湘、人聲如沸卿吐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗡官。三九已至箭窜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間衍腥,已是汗流浹背磺樱。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留紧阔,地道東北人坊罢。 一個(gè)月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像擅耽,于是被迫代替她去往敵國和親活孩。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 任何編程語言對字符串的操作是必不可少的乖仇,簡單的字符串處理我們可以借助OC中NSString封裝好的字符串處理...
    超仔不叫superman閱讀 1,880評論 0 0
  • 字符串刪除strip 函數(shù)原型聲明:s為字符串憾儒,rm為要?jiǎng)h除的字符序列s.strip(rm) 刪除s...
    古佛青燈度流年閱讀 7,613評論 0 2
  • 剛學(xué)C++那會(huì),真的是對字符串頭痛了好久乃沙,就是后面自己一不小心還是容易在字符串上犯錯(cuò)誤起趾,自己覺得這里就是一個(gè)大坑,...
    lusoer閱讀 298評論 0 0
  • 摘要:shell中字符串的處理 對字符串的處理 包括:截取警儒,連接训裆,匹配,替換蜀铲,翻轉(zhuǎn)... ... 一天累積一點(diǎn)边琉! ...
    太孓閱讀 442評論 0 0
  • 在聊這個(gè)話題之前我有必要介紹一下本人变姨,我念書時(shí)候?qū)W的平面設(shè)計(jì),出來的第一份工是給一家酒吧做招貼厌丑,還做過一段時(shí)間的食...
    奧特曼打小怪獸去了閱讀 1,726評論 1 8