關于字符串的一些處理

1.判斷全漢字(這個問題苦惱了我很久,現在很方便,幾行代碼就搞定):

if ([self deptNameInputShouldChinese]) {

[DemonAlertHelper showToastWithMessage:@"只能是中文"];

return;

}

調用這個方法就可

#pragma mark--

#pragma mark 輸入中文

- (BOOL) deptNameInputShouldChinese

{

NSString *regex = @"[\u4e00-\u9fa5]+";

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];

if (![pred evaluateWithObject:inputTextField.text]) {

return YES;

}

return NO;

}

2.判斷全數字:

- (BOOL) deptNumInputShouldNumber

{

NSString *regex =@"[0-9]*";

NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];

if (![pred evaluateWithObject:inputTextField.text]) {

return YES;

}

return?NO;

}

判斷全字母:

- (BOOL) deptPassInputShouldAlpha

{

NSString?*regex =@"[a-zA-Z]*";

NSPredicate?*pred = [NSPredicate?predicateWithFormat:@"SELF MATCHES %@",regex];

if?(![pred?evaluateWithObject:inputTextField.text]) {

return?YES;

}

return?NO;

}

3.判斷僅輸入字母或數字:

- (BOOL) deptIdInputShouldAlphaNum

{

NSString?*regex =@"[a-zA-Z0-9]*";

NSPredicate?*pred = [NSPredicate?predicateWithFormat:@"SELF MATCHES %@",regex];

if?(![pred?evaluateWithObject:inputTextField.text]) {

return?YES;

}

return?NO;

}

4.//*改變字符串中所有數字的顏色

- (void)setRichNumberWithLabel:(UILabel*)label Color:(UIColor *)color FontSize:(CGFloat)size {

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:label.text];

NSString *temp = nil;

for(int i =0; i < [attributedString length]; i++) {

temp = [label.text substringWithRange:NSMakeRange(i, 1)];

if ([self isPureInt:temp]) {

[attributedString setAttributes:[NSDictionary dictionaryWithObjectsAndKeys:

color, NSForegroundColorAttributeName,

[UIFont systemFontOfSize:size],NSFontAttributeName, nil ,nil]

range:NSMakeRange(i, 1)];

}

}

label.attributedText = attributedString;

}

5.一段字符串的處理

NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:kInstructions];

NSMutableParagraphStyle? *paragraphStyle? = [[NSMutableParagraphStyle alloc] init];

//行間距

[paragraphStyle setLineSpacing:5.0];

//段落間距

[paragraphStyle setParagraphSpacing:5.0];

//第一行頭縮進

[paragraphStyle setFirstLineHeadIndent:5.0];

[attributedString addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [kInstructions length])];

[conentLbl setAttributedText:attributedString];

CGRect rect = [conentLbl.text boundingRectWithSize:CGSizeMake(ScreenWidth, 1000) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16]} context:nil];

6.改變字符竄中某些字符的顏色大小

#define kString? @"1. 收到仿佛看見傷口方式 是是一致\n2. 是否是否守空房\n3. 嚴禁福建師范就死哦噢誒死附近反復\n4. 佛首付款司法考試浪費;了\n5. 佛寺福建師范色IE二惡烷款

NSArray *ary=@[@"一致",@"嚴禁"];

NSMutableAttributedString *mAttStri = [[NSMutableAttributedString alloc] initWithString:kString];

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

NSString *stringForColor = ary[i];

NSRange range = [kString rangeOfString:stringForColor];

[mAttStri addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range];

[mAttStri addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:range];

}

lblMsg.attributedText =mAttStri;

}

7.獲取字符串的首字符和最后一個字符

NSString *str = @"ifosfdfkosdfisfjksflsfksksf";

NSString *first = [str substringToIndex:1];//第一個字符

NSString *last = [str substringFromIndex:str.length-1];//最后一個字符

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容