Scala

您所在的位置:网站首页 怎么输入转义符 Scala

Scala

2023-08-15 18:25| 来源: 网络整理| 查看: 265

一.引言

scala 使用 '|' 作为分割字符时,报红线并提示 scala empty branch in alternation,使用 \\ 转义字符修饰后实现 '|' 的正常 String Split。

二.使用分析 1.错误用法 val word = "112345|2"

A.错误1: 转义字符用反

println(word.split("/|").mkString(",")) 1,1,2,3,4,5,|,2

翻译字符为 '\' ,使用 '/' 后不会正确划分字符串

B.错误2: 直接用特殊字符

println(word.split("|").mkString(",")) 1,1,2,3,4,5,|,2

直接使用 '|' 会出现引言中的提示 scala empty branch in alternation,导致分隔符为空间隔,所以都划分了一遍

2.正确用法

对于特殊字符分割,需要使用 \\| 双转义字符:

println(word.split("\\|").mkString(",")) 112345,2

Tips:

public String[] split(String regex) { return split(regex, 0); }

这里解释一下为什么 | 会分割错误,split 函数的参数 String regex,其实这里就是一个正则表达式,| 在这里代表或的作用,例如你可以同时使用两个分隔符分割字符串,因此使用 | 符号时要注意自己是否需要增加转义字符 :

val word = "13" println(word.split("").mkString(",")) 1,2,3

三.其他需要 \\ 转义的字符 1.还有哪些字符需要转义

除了 ‘|’ 外, * ^ . + ? $ ... 也需要使用转义字符:

val word = "1*2^3:4.5|6" println(word.split("^").mkString("-2022-")) println(word.split(".").mkString("-2022-")) println(word.split("|").mkString("-2022-"))

可以看到这些字符直接 split 后会有很多奇怪的结果,要么不 split,要么啥也没有,要么一个一个分割,所以遇到这些奇怪的字符一定记得加 \\ 转义 ,+ ? 会直接报错,无法 split ,$ 后面标识变量,直接 split 也要注意。

1*2^3:4.5|6 1-2022-*-2022-2-2022-^-2022-3-2022-:-2022-4-2022-.-2022-5-2022-|-2022-6 2.怎么识别转义字符

观察下面 split 语法,只要 regex 显示不和字符串一个颜色 (没用编辑器另说= =),那这个符号大概率需要转义或者不能满足你的 split 需求,例如 ^ | 是红色,因为他们此时是逻辑运算符号,. 是黑色,都不是正常分割的字符。

加完 \\ 转义后,大家都正常了,NICE 🕶

val word = "1*2^3:4.5|6" println(word.split("\\^").mkString("-2022-")) println(word.split("\\.").mkString("-2022-")) println(word.split("\\|").mkString("-2022-")) 1*2-2022-3:4.5|6 1*2^3:4-2022-5|6 1*2^3:4.5-2022-6

3.scala 常见转义字符

4.其他特殊情况

除了 '|' 分割符号外,还有一个常用的分隔符是 ’^A' ,该符号是 Hive 的默认分割符号,但是文本格式下无法显示,如果要对 '^A' 分割的字符串分割,可以使用 string.split('\001') 



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3