regex - 删除多行字符串中的特殊字符 Scala

标签 regex string scala

有没有办法从 Scala 中的多行字符串中删除特殊字符( \n, \b, \t, \f, \r )?

对于普通字符串

val someText = "some\nText\t"
someText.filter(_ >= ' ')       // returns "someText"

如何在多行字符串中实现相同的效果

val multLineStr = """some\nText\t"""
someText.filter(_ >= ' ')       // returns "some\nText\t"

我尝试使用正则表达式,无法从字符串中删除字符。

val regex = new Regex("\\s")
regex.replaceAllIn(multLineStr, "")   // returns "some\nText\t"

最佳答案

看来您需要向该字符串添加插值:

val multLineStr = """some\nText\t"""
println(multLineStr.toList)
println(multLineStr.filter(_ >= ' '))

将打印出:

List(s, o, m, e, \, n, T, e, x, t, \, t)
some\nText\t

与多行字符串之前的s插值相同

val multLineStr = s"""some\nText\t"""
println(multLineStr.toList)
println(multLineStr.filter(_ >= ' '))

将给出您想要的结果:

List(s, o, m, e, 
, T, e, x, t,   )
someText

关于regex - 删除多行字符串中的特殊字符 Scala,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60038593/

相关文章:

scala - 如何找到适合 32 位整数的 n 的最大倍数

R 正则表达式 : isolate parenthesized suffix

java - 如何最好地访问模式中捕获组的数量?

java - 如何检查给定的字符串数组是否返回 null?

c - 尝试使用#define 将字符串数组分配给变量时出错(无效的初始值设定项错误)

linux - 如何从 Scala 执行内置的 shell

c# - 使用正则表达式从 SQL 查询中提取表和列

regex - 使用 "sed"删除包含某些内容的行和下一行

JAVA While Loop 无法识别条件中的 String.equals()

Scala 类型边界和 Java 泛型互操作