有没有办法\n, \b, \t, \f, \r
从Scala的多行字符串中删除特殊字符()?
对于正常的字符串
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"
作为副节点,存在以下StringContext.processEscapes
方法
/** 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
因此
assert(StringContext.processEscapes("""some\nText\t""") == "some\nText\t")
StringContext.processEscapes("""some\nText\t""").filter(_ >= ' ')
// res1: String = someText
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句