我有以下内容NSMutableString
:
@"1*2*3*4*5"
我想找到第一个 * 并删除它之后的所有内容,所以我string = @"1";
该怎么做?
我有以下内容NSMutableString
:
@"1*2*3*4*5"
我想找到第一个 * 并删除它之后的所有内容,所以我string = @"1";
该怎么做?
NSMutableString *string = [NSMutableString stringWithString:@"1*2*3*4*5"];
NSRange range = [string rangeOfString:@"*"];
if (range.location != NSNotFound)
{
[string deleteCharactersInRange:NSMakeRange(range.location, [string length] - range.location)];
}
您可以尝试将此字符串除以分隔符并获取第一个对象
NSString *result = [[MyString componentsSeparatedByString:@"*"]objectAtIndex:0];
调用后 componentsSeparatedByString:@"*"
你会得到一个字符串数组,用*分隔,第一个对象就是你需要的。
这是另一种策略,使用非常灵活的NSScanner
.
NSString* beginning;
NSScanner* scanner = [NSScanner scannerWithString:@"1*2*3*4*5"];
[scanner scanUpToString:@"*" intoString:&beginning];
您可以使用-rangeOfString:
查找第一个星号的索引,并使用它-substringToIndex:
从原始输入中提取子字符串。大概是这样的……
NSMutableString *input = @"1*2*3*4*5";
// Finds the range of the first instance. See NSString docs for more options.
NSRange firstAsteriskRange = [input rangeOfString:@"*"];
NSString *trimmedString = [input substringToIndex:firstAsteriskRange.location + 1];