regex - 如何在 Scala 中删除两个特定字符之间的子字符串

标签 regex string scala list

我在 Scala 中有这个列表:

List[String] = List([[aaa|bbb]], [[ccc|ddd]], [[ooo|sss]])

我想获得与 | 之间的子字符串相同的列表和 ] 删除和 |也删除了。

所以结果将是:
List[String] = List([[aaa]], [[ccc]], [[ooo]])

我尝试使用列表制作字符串并使用replaceAll,但我想保留列表。

谢谢。

最佳答案

这是一个简单的解决方案,应该在性能上相当不错:

val list = List("[[aaa|bbb]]", "[[ccc|ddd]]", "[[ooo|sss]]")
list.map(str => str.takeWhile(_ != '|') + "]]" )

它假设字符串的格式是:
  • 两个左方括号 [开头,
  • 那么我们要提取的词,
  • 然后是一个管道 | .
  • 关于regex - 如何在 Scala 中删除两个特定字符之间的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40851532/

    相关文章:

    javascript - 密码的正则表达式必须包含至少八个字符、至少一个数字以及大小写字母和特殊字符

    javascript - 为什么 JavaScript 中的正则表达式返回未定义?

    regex - grep 命令模式中插入符号的不同位置?

    scala - 阶段 6.0 spark scala 中的错误执行器 : Exception in task 0. 0?

    scala - 可以对类型进行分组以传递给泛型类吗?

    javascript - 需要 javascript 正则表达式帮助 - 如何删除字符串的一部分

    java - 提取字符串java中的数字

    java - 如何从 StringTokenizer 获取分隔符?

    java - getBytes() 方法返回未知字节

    scala - 如何给 scalaz 的 Functor 赋予具有上下文绑定(bind)的更高种类的类型?