删除括号之间的子串

ssk*_*ski -1 swift swift3

我需要Swift 3中的一个函数,它将删除括号中字符串中的内容.例如,对于像"THIS IS AN EXAMPLE (TO REMOVE)" 应该返回的字符串"THIS IS AN EXAMPLE"

我正在尝试使用removeSubrange方法,但我被卡住了.

vad*_*ian 12

最简单的最短解决方案是正则表达式:

let string = "This () is a test string (with parentheses)"
let trimmedString = string.replacingOccurrences(of: "\\s?\\([\\w\\s]*\\)", with: "", options: .regularExpression)
Run Code Online (Sandbox Code Playgroud)

该模式搜索:

  • 可选的空白字符\\s?.
  • 一个左括号\\(.
  • 零个或多个单词或空格字符[\\w\\s]*.
  • 右括号\\).

替代模式"\\s?\\([^)]*\\)"代表:

  • 可选的空白字符\\s?.
  • 一个左括号\\(.
  • 零个或多个字符,但不包括右括号 [^)]*.
  • 右括号\\).