私は問題があります。私の文字列には format"abc"
があり、""があります。abc
今、私はからのみ取得したいです"abc"
(文字列から "" を削除し、abc のみを取得することを意味します)。どうやってやるの?前もって感謝します
質問する
233 次
6 に答える
2
NSString *abc = [@"\"abc\"" stringByReplacingOccurencesOfString:@"\"" withString:@""];
于 2013-10-07T10:40:05.033 に答える
1
部分文字列のすべての発生を別のものに置き換えることができる組み込み関数があります。別の文字列が空の文字列 ( @"" ) に設定されている場合、部分文字列のすべての発生が効果的に削除されます。あなたの例:
NSString * yourNewString = [yourOldString stringByReplacingOccurrencesOfString:@"\"" withString:@""]);
于 2013-10-07T10:42:15.217 に答える
1
#import <Foundation/Foundation.h>
int main(int argc, const char **argv) {
@autoreleasepool {
NSString *input = @"\"abc\"";
NSArray *elements = [input componentsSeparatedByString:@"\""];
if ([elements count] > 0) {
NSString *element = [elements objectAtIndex:1];
NSLog(@"count=%lu element='%@'", [elements count], element);
}
}
return 0;
}
$ clang -o strsep strsep.m -framework Foundation
$ ./strsep
2013-10-07 11:42:44.274 strsep[34292:707] count=3 element='abc'
于 2013-10-07T10:38:08.180 に答える
1
" の出現を空のスペースに置き換えることができます。
NSString *some = @"\"abc\"";
NSLog(@"%@",some);
NSString *newString = [some stringByReplacingOccurrencesOfString:@"\"" withString:@""];
NSLog(@"%@",newString);
于 2013-10-07T10:43:09.210 に答える
1
[String replaceOccurrencesOfString:@"\"" withString:@"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [String length])];
于 2013-10-07T10:39:43.253 に答える
0
私はあなたのためにメソッドを書きました。これは完全に機能します:(最後の文字が " の場合)
- (NSString*) getTheString:(NSString*) yourString{
NSString* answerString = [[NSString alloc]init];
int substrinFrom = 0;
for (NSInteger charIdx=0; charIdx<[yourString length]; charIdx++){
if ( '"' == [yourString characterAtIndex:charIdx]) {
substrinFrom = charIdx;
NSLog(@"%i",substrinFrom);
break;
}
}
answerString = [yourString substringWithRange:NSMakeRange(substrinFrom+1, [yourString length] - substrinFrom -2 )];
return answerString;
}
それをテストするには:
NSString* test = [self getTheString:@"\"Hello this is a test string, and it will work\""];
NSLog(@"%@",test);
于 2013-10-07T10:52:39.320 に答える