正在开发基于消息的 iPhone 应用程序。a-z and A-Z
如果 k 像我一样提醒用户省略数字中的字母,我必须将数字传递给 Webservice 。我怎样才能找到NSString value having a-z and A-Z letters
它?任何人请帮助我。提前致谢。
问问题
305 次
5 回答
1
如果您只想检查字符串中是否有任何字符,请使用以下内容:
if ([yourString length] > 0) {
// nice feature here is, this will also work when yourString is nil! :D
}
---
如果要进行更复杂的检查,则必须使用正则表达式。像这样使用NSRegularExpression类:
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[A-Za-z]+$" options:0] error:NULL];
NSUInteger numberOfMatches = [regex numberOfMatchesInString:yourString
options:0
range:NSMakeRange(0, [string length])];
if (numberOfMatches > 0) {
// yourString does only consist of multiple letters
}
^[a-zA-Z]+$
仅匹配仅由一个或多个字母组成的字符串(^
并$
分别标记字符串的开头和结尾)。^[0-9]+$
仅匹配数字。
于 2012-09-10T11:35:01.347 回答
1
应该是这样的:)
NSCharacterSet *alphaSet = [NSCharacterSet letterCharacterSet];
BOOL valid = [[yourString stringByTrimmingCharactersInSet:alphaSet] isEqualToString:@""];
它会从您的字符串中删除所有字母,如果还有任何内容,valid
则为NO
.
希望有帮助!:)
于 2012-09-10T11:35:05.203 回答
1
做这个:
NSCharacterSet *alphabetSet = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ"] invertedSet];
if ([yourString rangeOfCharacterFromSet:alphabetSet].location == NSNotFound) {
if(yourString.length >= 1)
{
// has aleast one character
}
}
于 2012-09-10T11:36:46.717 回答
0
据我了解,您希望输入电话号码
首先,您可以将要添加数字的 UITextView 的键盘设置为 UIKeyboardTypePhonePad 或 UIKeyboardTypeNumberPad。
或者
将文本传递给此函数
-(BOOL) checkForPhoneNumber:(NSString *) string
{
NSPredicate *confidenceTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",NUMBER_REGEX];
return [confidenceTest evaluateWithObject:string]?YES:NO;
}
在哪里
#define NUMBER_REGEX @"^[0-9]10?$"
于 2012-09-10T11:36:49.157 回答
0
NSString * regexName = @"[a-zA-Z] * ";
NSString *testString = @"your string";
NSPredicate *predicate;
predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regexName];
if ([predicate evaluateWithObject:testString]) {
NSLog(@"true");
}
else{NSLog"字符串包含数字或特殊字符" ;}
于 2012-09-10T11:50:51.710 回答