ios - 我将如何最好地使用 componentsSeparatedByCharacterSet 但将分隔符/分隔符附加到第一个单词?

标签 ios objective-c cocoa-touch nsstring nsarray

假设我有以下句子:

I am a sentence that has hyphenated-words at some-points in it.

我有以下代码:

NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" -"];
NSArray *sentenceArray = [sentence componentsSeparatedByCharactersInSet:separators];

将字符串分隔成一个数组,以空格和连字符分隔。结果数组是:

["I", "am", "a", "sentence", "that", "has", "hyphenated", "words", "at", "some", "points", "in", "it."]

正如您所见,它完成了它的工作,但现在我不知道哪些词最初被连字符了。我真正喜欢的是

[ ... "has-", "hyphenated", ... ]

它在第一个字符串后附加分隔符。但仅适用于连字符。

但我意识到这似乎很难。我怎样才能最好地找出哪些部分因连字而分开?

最佳答案

像这样用 '- ' 替换 '-' 怎么样:

NSCharacterSet *separators = [NSCharacterSet characterSetWithCharactersInString:@" "];
sentence = [sentence stringByReplacingOccurrencesOfString:@"-" withString:@"- "];
NSArray *sentenceArray = [sentence componentsSeparatedByCharactersInSet: separators];

关于ios - 我将如何最好地使用 componentsSeparatedByCharacterSet 但将分隔符/分隔符附加到第一个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22367319/

相关文章:

ios - AnimateWithDuration 运行异常

ios - 仅当另一个功能完成时才继续执行另一个功能 iOS Swift

ios - 带 wifi 的外部附件

ios - 需要解释奇怪的语法

ios - 运行 pod install 时出错 - 在目标 `iOS` 上自动分配版本 `8.0` 的平台 `Runner`

ios - 如何在 iOS 9 中加载 HTTPS URL?

objective-c - 计算返回 0 Objective-c

objective-c - 我的应用程序在 CGRectIntersectsRect 上崩溃

iphone - 强制 UIView/UIVIewController 方向

objective-c - 将 int 转换为缩短的格式化字符串