字符串修剪
最近公司项目中需要字符串修剪, 而且项目中每个地方的需求还不太一样, 所以写了下面的一个分类, 感觉挺好用分享出来给大家, 希望遇到同样问题的同志少花时间, 注释比较清晰, 我就废话不多说了, 看代码
头文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43//
// NSString+JLTrim.h
//
// Created by 王俊岭 on 16/8/17.
//
@interface NSString (JLTrim)
/**
* 修剪字符串
*
* @param val 要修改的字符串
* @param characterSet 要去除的类型
*
* @return 修剪后的字符串
*/
+ (NSString *)trim:(NSString *)val trimCharacterSet:(NSCharacterSet *)characterSet;
/**
* 删除字符串前后空格
*
* @param val 原始字符串
*
* @return 修剪后字符串
*/
+ (NSString *)trimWhitespace:(NSString *)val;
/**
* 删除字符串前后空行
*
* @param val 原始字符串
*
* @return 修改后字符串
*/
+ (NSString *)trimNewline:(NSString *)val;
/**
* 删除字符串前后空行和空格
*
* @param val 原始字符串
*
* @return 修改后字符串
*/
+ (NSString *)trimWhitespaceAndNewline:(NSString *)val;/**
删除字符串中所有空格@param val 原始字符串
@return 修改后的字符串
*/- (NSString )trimAllWhitespace:(NSString )val;
/**
删除字符创中所有回车
@param val 原始字符串
@return 修改后字符串
*/
(NSString )trimAllNewLine:(NSString )val;
@end1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2. 实现文件
```objc
//
// NSString+JLTrim.m
//
// Created by 王俊岭 on 16/8/17.
//
#import "NSString+JLTrim.h"
@implementation NSString (JLTrim)
+ (NSString *)trim:(NSString *)val trimCharacterSet:(NSCharacterSet *)characterSet {
NSString *returnVal = @"";
if (val) {
returnVal = [val stringByTrimmingCharactersInSet:characterSet];
}
return returnVal;
}
+ (NSString *)trimWhitespace:(NSString *)val {
return [self trim:val trimCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; //去掉前后空格
}
+ (NSString *)trimNewline:(NSString *)val {
return [self trim:val trimCharacterSet:[NSCharacterSet newlineCharacterSet]]; //去掉前后回车符
}
+ (NSString *)trimWhitespaceAndNewline:(NSString *)val {
return [self trim:val trimCharacterSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去掉前后空格和回车符
}
+ (NSString *)trimAllWhitespace:(NSString *)val {
NSMutableString *mutStr = [NSMutableString stringWithString:val];
NSRange range = {0,val.length};
[mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
return mutStr.copy;
}
+ (NSString *)trimAllNewLine:(NSString *)val {
NSMutableString *mutStr = [NSMutableString stringWithString:val];
NSRange range = {0,val.length};
[mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range];
return mutStr.copy;
}
@end注意
stringByTrimmingCharactersInSet 这个方法只能删除字符串两端的字符, 不能对字符串中间的字符进行操作, 所以想删除字符串中间的字符就需要字符串替换的方法replaceOccurrencesOfString