‘嗨,我有一个包含2位数字(如32)的字符串,但我想获取并使用它作为2个单位数(如3和2)。我该怎么做呢?提前谢谢。
NSString *depositOverTotalRwy = [NSString stringWithFormat:@"%@", [deposit text]];
NSArray *components = [depositOverTotalRwy
componentsSeparatedByString:@"/"];
NSString *firstThird = [components objectAtIndex:0];
unichar firstChar = [firstThird characterAtIndex: 0];
NSString *firstCharStr = [NSString stringWithFormat:@"%c", firstChar];
unichar secChar = [firstThird characterAtIndex: 1];
NSString *secCharStr = [NSString stringWithFormat:@"%c",secChar];
NSLog(@"%@ over %@", firstCharStr, secCharStr);
if ([firstCharStr isEqualToString: @"1"]) {
firstCharStr=@"wet";
NSLog(@"wet");
}
if ([firstCharStr isEqualToString: @"2"]) {
firstCharStr=@"snow";
NSLog(@"snow");
}
if ([firstCharStr isEqualToString: @"3"]) {
firstCharStr=@"ice";
NSLog(@"ice");
}
if ([secCharStr isEqualToString: @"1"]) {
secCharStr=@"wet";
NSLog(@"wet");
}
if ([secCharStr isEqualToString: @"2"]) {
secCharStr=@"snow";
NSLog(@"snow");
}
if ([secCharStr isEqualToString: @"3"]) {
secCharStr=@"ice";
NSLog(@"ice");
}
NSString *secThird = [components objectAtIndex:1];
if ([secThird isEqualToString: @"1"]) {
secThird = @"wet";
NSLog(@"wet");
}
if ([secThird isEqualToString:@"2"]) {
secThird = @"snow";
NSLog(@"snow");
}
if ([secThird isEqualToString:@"3"]) {
secThird = @"ice";
NSLog(@"ice");
}
NSString *thirdThird = [components objectAtIndex:2];
if ([thirdThird isEqualToString: @"1"]) {
thirdThird = @"wet";
NSLog(@"wet");
}
if ([thirdThird isEqualToString:@"2"]) {
thirdThird = @"snow";
NSLog(@"snow");
}
if ([thirdThird isEqualToString:@"3"]) {
thirdThird = @"ice";
NSLog(@"ice");
}
dep.text = [NSString stringWithFormat:@"1/3 %@%@ 2/3 %@ 3/3 %@", firstCharStr,secCharStr, secThird, thirdThird];它现在可以使用to数字(即32位),但如果我尝试只输入一个数字,我会得到一个错误...有什么想法吗?谢谢
发布于 2011-05-13 23:42:30
循环并从字符串中一次提取一个字符。
for(int i = 0; i < [myString length]; i++)
{
char extractedChar = [myString characterAtIndex:i];
if(extractedChar == '1')....
}发布于 2011-05-13 23:43:11
NSString的-characterAtIndex:应该可以做到这一点:
NSString *firstThird = @"32";
unichar c1, c2;
c1 = [ firstThird characterAtIndex: 0 ];
c2 = [ firstThird characterAtIndex: 1 ];
switch ( c1 ) {
case '3':
...
}发布于 2011-05-13 23:43:05
跳过任何unicode复杂性,如何提取字符
unichar firstChar = firstThird characterAtIndex: 0;
https://stackoverflow.com/questions/5994259
复制相似问题