我已经看到了我的任务的一个答案,但我现在找不到它。 我想检测一个字符串是否有空字并且至少包含“”或“”(两个空格“或多个空格,或者不是。 如果没有,我会将此添加到Nsmutablearray。 如果是空的或至少有一个空格,我希望不要写入mutablearray。
如何解决这个问题?
2011年10月12日编辑:
伙计们,谢谢。
我很抱歉,我不清楚我的愿望。我想检查字符串是否为空或包含没有任何字符的空格。我在下面发布了我的答案。
答案 0 :(得分:6)
我不确定它是否是最有效的方法,但您可以拆分数组并查看长度是否大于1:
if ([string componentsSeparatedByString:@" "].count > 1)
答案 1 :(得分:3)
取决于您是否正在寻找任何空格或空格。对于空间,您可以使用:
if( [string length] == 0 ||
!NSEqualRanges( [string rangeofString:@" "],
NSMakeRange(NSNotFound, 0) ) )
{
// either the string is empty or we found a space
} else {
// we didn't find a space and the string is at least of length 1
}
如果有空格,请使用空白字符集:
if( [string length] == 0 ||
!NSEqualRanges( [string rangeOfCharacterFromSet:
[NSCharacterSet whitespaceCharacterSet]],
NSMakeRange(NSNotFound, 0) ) )
{
// either the string is empty or we found a space
} else {
// we didn't find a space and the string is at least of length 1
}
如果您愿意,请将whitespaceCharacterSet
替换为whitespaceAndNewlineCharacterSet
。
答案 2 :(得分:3)
if( bookmarked.length == 0 )
{
NSLog (@"not allowed: empty");
}
else if ([[bookmarked stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] == 0)
{
NSLog (@"not allowed: whitespace(s)");
}
else
{
[bookmarklist addObject:bookmarked];
}
答案 3 :(得分:2)
查看NSString
的{{3}}。
具体来说,请查看查找字符和子字符串部分,了解您想要的方法,可能您想多次使用– rangeOfString:options:range:
。
另外,请查看替换子字符串部分,了解您想要的方法,可能您要使用– stringByReplacingOccurrencesOfString:withString:options:range:
答案 4 :(得分:1)
查看NSRegularExpression课程和编码示例。
答案 5 :(得分:1)
NSString *myString = @"ABC defa jh";
int spaceCount = [[myString componentsSeparatedByString:@" "] count] - 1;
if (!spaceCount) {
// Zero spaces, Do Something
} else if (spaceCount <= 2) {
// 1-2 spaces add this to NSMutableArray (although the wording about what you wanted to do in each case is confusing, so adjust for your needs)
} else {
// 3+ spaces, Do Not add this to NSMutableArray (adjust for your needs)
}