用字符串中的 space 替换一段 space 和换行符
Replace stretches of spaces and newlines with just a space in a string
我想知道是否有一个库或简单的方法可以让我使用 NSString
并替换仅用一个串在一起的任何一段 '\n' 和 space单身space? (包括在内,我也只想用 space 替换所有出现的 '\n' 本身)。所以我想像这样 NSString
:
bla bla
bla bla
并将其转换为:
bla bla bla bla
我环顾四周,似乎只能手动完成。有谁知道还有别的办法吗?
只需用 \n
分隔字符串并使用空格连接。
NSString *result = [[string componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] componentsJoinedByString:@" "];
这将删除新行,将空格序列折叠成单个空格,使用 this
在这些情况下,我总是非常喜欢正则表达式。没有他们,我们如何相处?所以我会用 options:
调用 stringByReplacingOccurrencesOfString...
包括正则表达式说明符,并使用一个简单的模式表达式来找到所有的白色 space (并将其替换为单个 space).
NSString* s2 = [s stringByReplacingOccurrencesOfString:@"\s+"
withString:@" "
options:NSRegularExpressionSearch
range:NSMakeRange(0,s.length)];
我想知道是否有一个库或简单的方法可以让我使用 NSString
并替换仅用一个串在一起的任何一段 '\n' 和 space单身space? (包括在内,我也只想用 space 替换所有出现的 '\n' 本身)。所以我想像这样 NSString
:
bla bla
bla bla
并将其转换为:
bla bla bla bla
我环顾四周,似乎只能手动完成。有谁知道还有别的办法吗?
只需用 \n
分隔字符串并使用空格连接。
NSString *result = [[string componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] componentsJoinedByString:@" "];
这将删除新行,将空格序列折叠成单个空格,使用 this
在这些情况下,我总是非常喜欢正则表达式。没有他们,我们如何相处?所以我会用 options:
调用 stringByReplacingOccurrencesOfString...
包括正则表达式说明符,并使用一个简单的模式表达式来找到所有的白色 space (并将其替换为单个 space).
NSString* s2 = [s stringByReplacingOccurrencesOfString:@"\s+"
withString:@" "
options:NSRegularExpressionSearch
range:NSMakeRange(0,s.length)];