示例字符串-
exampleString(123)
我想要上述字符串中的两个部分-
1-)exampleString
通过拆分
2-)123
,先将括号和两个空格分开,然后将其删除,每个空格一个
更具体地说,我想知道如何提取之间的字符串 两个括号()
如何在Swift 4.2中实现?
谢谢
答案 0 :(得分:1)
下面有一个解决方案,它将括号内的所有字符串提取到不带括号的数组中,它还为您提供了不包含元素的字符串作为单词作为数组元素:
var myString = "exampleString ( 123 ) "
//creates result array from String by separating elements by space
var result = myString.split(separator: " ")
//filters array to remove '(' and ')'
result = result.filter { $0 != "(" && $0 != ")" }
print(result)
然后,如果要从具有字符串元素的结果数组中重新构建字符串,请执行以下操作:
var resultString = result.joined(separator: " ")
print(resultString)
可能不理想,但是对您可能有用。
答案 1 :(得分:1)
我发现了这个漂亮的用于字符串分割的字符串扩展。在这里回答-
extension String {
func slice(from: String, to: String) -> String? {
return (range(of: from)?.upperBound).flatMap { substringFrom in
(range(of: to, range: substringFrom..<endIndex)?.lowerBound).map { substringTo in
String(self[substringFrom..<substringTo])
}
}
}
}
在这里我可以简单地得到一个像
这样的子字符串。let str = "exampleString ( 123 )"
print(str.slice(from: "( ", to: " )"))