String 从文本中提取特定字符串
我正在尝试从文本中提取特定字符串。我有一个类似的字符串:String 从文本中提取特定字符串,string,swift,String,Swift,我正在尝试从文本中提取特定字符串。我有一个类似的字符串: "blablabla(/)Hello Bob(|)bla(/)Hi(|)blablaba" 我试图在(/)和(|)之间连接一个文本字符串数组,但我无法找到一种有效的方法来实现这一点。在本例中,我希望返回“Hello Bob”和“Hi”。如何有效地从Swift中的字符串中提取特定字符串?使用函数方法,您可以: 将字符串拆分为(/),返回字符串数组 对于数组的每个元素,将其转换为一个字符串数组,由(|) 筛选结果数组,仅包括具有多个元素的
"blablabla(/)Hello Bob(|)bla(/)Hi(|)blablaba"
我试图在
(/)
和(|)
之间连接一个文本字符串数组,但我无法找到一种有效的方法来实现这一点。在本例中,我希望返回“Hello Bob”和“Hi”。如何有效地从Swift中的字符串中提取特定字符串?使用函数方法,您可以:
- 将字符串拆分为
,返回字符串数组(/)
- 对于数组的每个元素,将其转换为一个字符串数组,由
(|)
- 筛选结果数组,仅包括具有多个元素的值(数组)
- 将结果数组的每个元素(数组)转换为其第一个元素
let array = string.componentsSeparatedByString("(/)")
.map { $0.componentsSeparatedByString("(|)") }
.filter { $0.count > 1 }
.map { $0[0] }
给定此输入字符串:
let string = "blablabla(/)Hello Bob(|)bla(/)Hi(|)blablaba"
结果是:
["Hello Bob", "Hi"]