㈠ 如何在 NSString 中使用
在ios中 可以使用函数过滤字符串中的特殊符号
首先自己定义一个NSCharacterSet, 包含需要去除的特殊符号
NSCharacterSet *set = [NSCharacterSet :@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*()_+'\""];
由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的
然后调用
NSString *trimmedString = [string :set];
trimmedString就是过滤后的字符串
----------------------------------------------------------
http://blog.sina.com.cn/s/blog_5421851501014xif.html
去除 username中的空格,table newline,nextline
代码如下:(三行代码)
NSCharacterSet *whitespace = [NSCharacterSet ];
NSString * username = [mUsernameField stringValue];
username = [username :whitespace];
注释:
:
Returns a new string made by removing from both ends of the receiver characters contained in a given character set.
Returns a character set containing only the whitespace characters space (U+0020) and tab (U+0009) and the newline and nextline characters (U+000A–U+000D, U+0085).
另外可以用 whitespaceCharacterSet 替换 区别newline nextline
whitespaceCharacterSet
Returns a character set containing only the in-line whitespace characters space (U+0020) and tab (U+0009).
NSString *temptext = [messageTextField.text :[NSCharacterSet whitespaceCharacterSet]];
NSString *text = [temptext :[NSCharacterSet ]];
第1行是去除2端的空格
第2行是去除回车
㈡ 怎样过滤NSString中的特殊字符
字符串过滤一下
1 NSCharacterSet *doNotWant = [NSCharacterSet :@"[]{}(#%-*+=_)\\|~(<>$%^&*)_+ "];
2 tempString = [[tempString : doNotWant]componentsJoinedByString: @""];
1 里面“”里面放要专过滤的字符属
㈢ iOS字符串中是否含有中文
NSString *chnString = @"中文, 汉语";if ([chnString isEqualToString:@"中文, 汉语"]){ NSLog(@"Equal");}else NSLog(@"NOT Equal");if ([chnString isEqualToString:@"中文, 汉"]) NSLog(@"Equal");else NSLog(@"NOT Equal"); 查看原帖>>
㈣ iOS中如何比较NSString包含的中文字符
NSString *chnString = @"中文, 汉语";
if ([chnString isEqualToString:@"中文, 汉语"])
{ NSLog(@"Equal");}
else NSLog(@"NOT Equal");
if ([chnString isEqualToString:@"中文, 汉"]) NSLog(@"Equal");
else NSLog(@"NOT Equal");
㈤ iphone通信 ascii转utf8string中文输出.该怎么处理
iphone中肯定是支持中文的,只是NSString中没有定义这个枚举值,我们可以通过两种方法获得这个枚举值
第一个方法是通过
比如:NSStringEncoding enc = (kCFStringEncodingGB_18030_2000);
NSString* str2 = [NSString stringWithCString:str1 encoding:enc];
全部的kCFStringEncoding定义参考CFStringEncodingExt.h
另外也很有用
㈥ object-c 写个方法校验字符串是否含有中文,要怎么写呢,菜鸟求问
用正则
//是否是邮箱
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
//电话
NSString *checkTel=@"^1[3|4|5|8][0-9]\\d{8}$";//验证是否是电话号码
//正则表达式
NSString *checkTel = @"^1[3|4|5|8][0-9]\\d{8}$";
//只能输入汉字
NSString *checkChinese = @"^[\u4e00-\u9fa5]{0,}$";
//只能是26个英文字母
NSString *checkEnlish = @"^[A-Za-z]+$";
//是否有特殊字符
NSString *checkZifu = @"[%&';,=?\\^]+";
//验证只能输入0或非0开始的数字
NSString *checkNum = @"^(0|[1-9][0-9]*)$";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
return [emailTest evaluateWithObject:self];
㈦ objective-c 字符串中文输出
characterAtIndex:i 这个方法的作用是
返回索引i 所在UniCode 字符 而不是字串
所以应该是
unichar strxmlchar=[strcs characterAtIndex:i];
接收字符
并且format要以%C(大写字母C)的形式
NSString *strcs=@"猜猜看";
NSString *str=@"";
for(int i=0;i<strcs.length;i++){
unichar strxmlchar=[strcs characterAtIndex:i];
str=[NSStringstringWithFormat:@"%C",strxmlchar];
NSLog(@"%C",strxmlchar);
}
为你推荐的另一种方法
for(int i=0;i<strcs.length;i++){
str=[strcs substringWithRange:NSMakeRange(i, 1)];
NSLog(@"%@",str);
if ([str isEqualToString:@"看"]) {
NSLog(@"%@是指定字符",str);
}
}
㈧ 怎样找出NSString中字母数字中文特殊字符的个数解决思路
用c语言的方式
确实是需要用到
- (unichar)characterAtIndex:(NSUInteger)index;
正则的话就不知道了
㈨ NSString的字符串,编码是UTF8格式,怎么转化成GBK格式
首先理解java的字符概念
java中字符串是字符的序列,虚拟机内部的字符都是16位的unicode字符,等价于C++中的WCHAR,也是为了实现虚拟机方便
WCHAR叫做宽字符,对应的MuitiChar叫做多字符,这种多字符中字符的位数不唯一
GBK
和
UTF8
是多字符的不同编码形式
s=new
String(s.getBytes("gbk"),"utf-8");
的意思是:
byte[]
bytes=s.getBytes("gbk");
s=new
String(bytes,"utf-8");
第一句是将s对应的gbk编码转出来,形成一个字节流
第二句是将这个字节流按照utf-8编码转为java字符串,因此相当于将gbk编码的字节流当做utf-8来使用,这样在中文中会出现乱码
你的问题是,接口返回的已经是utf-8
所以它必须是byte[]
流,如果是字符串的话就不好办了