上下文是一个 IOS 应用程序。我想替换用括号括起来的空格。
前任:
Toto "is Bill" 应该变成 Toto "is#Bill"
天气“晴朗”应该变成“天气晴朗#and#clear”
我根据另一篇文章使用以下代码进行了 试验
NSString *pattern = @"(?:(?<=^\")(\\s+))|(?:(?!^\")(\\s+)(?=.))|(?:(\\s+)(?=\"$))"; // (?:(?<=^")(\s+))|(?:(?!^")(\s+)(?=.))|(?:(\s+)(?="$))
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@"#"];
NSLog(@"modified %@", modifiedString);
但这不正常。
所有空格都被替换(Toto#"is#Bill")
我只用 (?:(?!^")(\s+)(?=.)) 得到相同的结果
我自己做了一个 (?:\"\S*)(\s)(?:\S*) 也不行
我会很感激这方面的帮助!谢谢