- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
所以这里是字符串s
:
"Hi! How are you? I'm fine. It is 6 p.m. Thank you! That's it."
我希望将它们分隔成一个数组:
["Hi", "How are you", "I'm fine", "It is 6 p.m", "Thank you", "That's it"]
这意味着分隔符应该是 ". "
+ "? "
+ "! "
我试过:
let charSet = NSCharacterSet(charactersInString: ".?!")
let array = s.componentsSeparatedByCharactersInSet(charSet)
但它也会将 p.m.
分成两个元素。结果:
["Hi", " How are you", " I'm fine", " It is 6 p", "m", " Thank you", " That's it"]
我也试过
let array = s.componentsSeparatedByString(". ")
它很适合分隔 "."
但如果我还想分隔 "?"
, "!"
, 它会变得困惑.
那么我有什么办法可以做到吗?谢谢!
最佳答案
提供了一种方法,可让您枚举字符串。您可以通过单词或句子或其他选项来做到这一点。不需要正则表达式。
let s = "Hi! How are you? I'm fine. It is 6 p.m. Thank you! That's it."
var sentences = [String]()
s.enumerateSubstringsInRange(s.startIndex..<s.endIndex, options: .BySentences) {
substring, substringRange, enclosingRange, stop in
sentences.append(substring!)
}
print(sentences)
结果是:
["Hi! ", "How are you? ", "I\'m fine. ", "It is 6 p.m. ", "Thank you! ", "That\'s it."]
关于ios - componentsseparatedbystring 在 Swift 中由多个分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34247316/
我有一个字符串,我需要将其分成一个单词数组。我使用的是 NSArray *words = [cleanText componentsSeparatedByString:@""]; 效果很好,直到我遇到
在我的一个应用程序中有一个时间字符串,我需要将其中的每个部分分开并进行处理。 我的字符串是这样的 9:00 AM – 11:00 PM 或 9:00 AM – 11:00 PM,9:00 AM – 1
我用这段代码来切割字符串 NSString *titleString = @"22.225453615805794,113.554006577014889"; NSArray *arr
我在字符串上使用 componentsSeparatedByString 将一个长字符串拆分为一个字符串数组,使用逗号 (,) 作为要拆分的字符串。问题是,一个组成部分是逗号字符。例如,字符串是“a,
我正在为一个应用程序使用 MapKit。 我正在将信息存储在全局字典中,然后再次访问它们。 每个都使用文本+用户名+日期的键存储。此实例中的用户名变量包含字符串的日期和用户名 func mapView
我有一个存储在实体(核心数据)中的字符串,我想使用 NSFetchedResultsController 来获取数据。 字符串格式:abc,ba,x,s,d。这是一个保存为字符串的 ID 数组。 我只
我想使用 -componentsSeparatedByString: 解析以下字符串: CHAPTER 5. RULE OF DECISION CHAPTER 6. GOVERNMENTA
我知道这是菜鸟问题,我真的在问之前四处搜索。但是我想知道的内容没有确切的答案。我们如何在不使用 Objective C 的情况下将字符串拆分为数组?例如: var str = "Today is so
我正在解析一个 xml,其中包含需要在屏幕上显示的字符串。这是执行此操作的代码。 [gTutorialTextList addObject:[attributeDict objectForKey:@"
我有一个像这样的 NSString: music that rocks.mp3 e99a65fb 问题在于文件名 (musicthatrocks.mp3) 和 CRC32 校验和 (e99a65fb)
在 urlContentArray[1].componentsSeparatedByString("") 中 我想用一系列数字替换“1”。 当我写 urlContentArray[1..") 我收到此
我昨晚在访问通过 componentsSeparatedByStringMethod 创建的数组的元素时遇到了一些麻烦。我的目标是从 url 内容变量中提取一些信息。 var arr = urlCon
如何使用 Split( ) 方法而不是 componentsSeparatedByString( ) 方法获得相同的结果: public func className(obj: Any) -> Str
需要在 & 上分隔字符串,但在 & 上不需要。 有没有更优雅的方式来编码它而不是先替换它然后在 & 上分离它?像这样... query = [query stringByReplacingOccurr
所以这里是字符串s: "Hi! How are you? I'm fine. It is 6 p.m. Thank you! That's it." 我希望将它们分隔成一个数组: ["Hi", "Ho
我有一个字符串需要拆分。使用 componentsSeparatedByString 会很容易,但我的问题是分隔符是逗号,但我可以使用不是分隔符的逗号。 我解释一下: 我的字符串: NSString
我需要根据 ASCII 控制字符(特别是 US — 0x1F)分隔字符串。 当 NSString ComponentsSeparatedByString 需要 unicode 字符串并且我提供 ASC
长话短说,我正在尝试将输入字符串解析为“ token ”...... 我可以完全控制 token 的放置位置,我可以使用 NSLog 并查看我的输入字符串的格式是否完全正确(甚至直到尝试 token
我想将 NSDictionary 数组存储到一个文件中。所以我写了一个函数来将 NSArray 转换为 NSString。但是我遇到了一个非常奇怪的问题。这是我的代码。 + (NSArray *)ar
我通过 componentsSeparatedByString 将字符串转换为数组。它返回数组完美。但是当字符串为空时返回 1 个对象。 为什么会这样? NSMutableArray *imagesL
我是一名优秀的程序员,十分优秀!