Regex 删除多行字符串Scala中的特殊字符
有没有办法从Scala中的多行字符串中删除特殊字符(Regex 删除多行字符串Scala中的特殊字符,regex,string,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\
\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 multLineStr = s"""some\nText\t"""
println(multLineStr.toList)
println(multLineStr.filter(_ >= ' '))
我尝试使用正则表达式,但无法从字符串中删除字符
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 = """some\nText\t"""
someText.filter(_ >= ' ') // returns "some\nText\t"
val multLineStr = s"""some\nText\t"""
println(multLineStr.toList)
println(multLineStr.filter(_ >= ' '))
将给出您想要的结果:
List(s, o, m, e,
, T, e, x, t, )
someText
作为边节点,存在一种
/** Expands standard Scala escape sequences in a string.
* Escape sequences are:
* control: `\b`, `\t`, `\n`, `\f`, `\r`
* escape: `\\`, `\"`, `\'`
*
* @param str A string that may contain escape sequences
* @return The string with all escape sequences expanded.
*/
def processEscapes(str: String): String
因此
“\n”
是两个字符的组合,而不是换行符。使用val regex=“”\\[tn]”。r
此功能:println(“>some\nText\t三重引号的字符串是“多行”这意味着他们理解呈现的新行。换句话说,对于每个呈现的新行,都会自动插入一个\n
字符。特殊字符不再被视为特殊字符。@diginoise,我想替换“特殊字符”在三重引号字符串中,虽然知道替换字符串中特殊字符的另一种方法Thankso很好,但您不是在删除任何内容,而是在字符串文本中定义?