ios中带逗号的字符串的开头和结尾
我需要检查字符串的开头和结尾是否包含任何逗号,并删除该逗号或用空字符串替换这些逗号 比如说,ios中带逗号的字符串的开头和结尾,ios,nsstring,Ios,Nsstring,我需要检查字符串的开头和结尾是否包含任何逗号,并删除该逗号或用空字符串替换这些逗号 比如说, NSString *str1 = @",a,b,c,d,"; or NSString *str1 = @",a,b,c,d"; or NSString *str1 = @"a,b,c,d,"; 输出: NSString *str1 = @"a,b,c,d"; 我试过这个 NSRange lastComma = [str1 rangeOfString:@"," options:NSBackward
NSString *str1 = @",a,b,c,d,"; or
NSString *str1 = @",a,b,c,d"; or
NSString *str1 = @"a,b,c,d,";
输出:
NSString *str1 = @"a,b,c,d";
我试过这个
NSRange lastComma = [str1 rangeOfString:@"," options:NSBackwardsSearch];
if(lastComma.location != NSNotFound) {
str1 = [str1 stringByReplacingCharactersInRange:lastComma
withString: @""];
}
删除最后一个逗号,但如何删除第一个逗号
有什么方法可以做到这一点,非常感谢帮助者。您可以使用字符串操纵器功能。 1.找到最后一个
2.首先查找中的,您可以使用字符串操纵器函数。 1.找到最后一个 2.首先查找中的,您可以使用[NSString componentsSeparatedByString:]然后拒绝任何空字符串。这也会产生删除列表中的空元素的效果:
NSArray *elements = [inputString componentsSeparatedByString:@","];
NSMutableArray *outputElements = [[NSMutableArray alloc] init];
for (NSString *element in elements)
if ([element length] > 0)
[outputElements addObject:element];
然后重新格式化字符串:
NSString *outputString = [outputElements componentsJoinedByString:@","]
您可以使用[NSString componentsSeparatedByString:],然后拒绝任何空字符串。这也会产生删除列表中的空元素的效果:
NSArray *elements = [inputString componentsSeparatedByString:@","];
NSMutableArray *outputElements = [[NSMutableArray alloc] init];
for (NSString *element in elements)
if ([element length] > 0)
[outputElements addObject:element];
然后重新格式化字符串:
NSString *outputString = [outputElements componentsJoinedByString:@","]
您可以使用stringByReplacingOccurrencesOfString:withString:options:range:method替换为“”
参考以下代码
int strLength = [str1 length];
str1 = [str1 stringByReplacingOccurrencesOfString:@"," withString:@"" options:NSCaseInsensitiveSearch range:NSRangeFromString(@"0,1")];
str1 = [str1 stringByReplacingOccurrencesOfString:@"," withString:@"" options:NSCaseInsensitiveSearch range:NSRangeFromString([NSString stringWithFormat:@"%d,%d",strLength - 1,1])];
您可以使用stringByReplacingOccurrencesOfString:withString:options:range:method替换为“”
参考以下代码
int strLength = [str1 length];
str1 = [str1 stringByReplacingOccurrencesOfString:@"," withString:@"" options:NSCaseInsensitiveSearch range:NSRangeFromString(@"0,1")];
str1 = [str1 stringByReplacingOccurrencesOfString:@"," withString:@"" options:NSCaseInsensitiveSearch range:NSRangeFromString([NSString stringWithFormat:@"%d,%d",strLength - 1,1])];
您可以使用StringByTrimmingCharactersSet:NSSTring的方法
您可以使用StringByTrimmingCharactersSet:NSSTring的方法
删除字符串第一个和最后一个的逗号(如果有)
NSString *str1 = @",a,b,c,d,";
NSLog(@"%@",[str1 substringFromIndex:str1.length - 1]);
if ([[str1 substringToIndex:1] isEqualToString:@","])
{
str1 = [str1 substringFromIndex:1];
NSLog(@" == %@",str1);
}
if([[str1 substringFromIndex:str1.length - 1] isEqualToString:@","])
{
str1 = [str1 substringToIndex:str1.length - 1];
NSLog(@"%@",[str1 substringToIndex:str1.length - 1]);
}
删除字符串第一个和最后一个的逗号(如果有)
NSString *str1 = @",a,b,c,d,";
NSLog(@"%@",[str1 substringFromIndex:str1.length - 1]);
if ([[str1 substringToIndex:1] isEqualToString:@","])
{
str1 = [str1 substringFromIndex:1];
NSLog(@" == %@",str1);
}
if([[str1 substringFromIndex:str1.length - 1] isEqualToString:@","])
{
str1 = [str1 substringToIndex:str1.length - 1];
NSLog(@"%@",[str1 substringToIndex:str1.length - 1]);
}
StringByTrimmingCharactersSet:您可以使用NSRegularExpression,或者使用hasPrefix或hasSuffix检查并删除逗号(如果需要)。StringByTrimmingCharactersSet:您可以使用NSRegularExpression,或者使用hasPrefix或hasSuffix检查并删除逗号(如果需要)。但我需要删除起始和结束位置的逗号。。您说过要删除空字符串,…但我需要删除起始和结束位置的逗号。。你说要删除空字符串,谁说了C++?谁说了C++?