加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

为什么Split在不同的字符串上表现不同?

发布时间:2020-12-16 18:19:05 所属栏目:安全 来源:网络整理
导读:以下是两种情况: 情况1: scala "".split('f')res3: Array[String] = Array("") 案例2: scala "f".split('f')res5: Array[String] = Array() 为什么它在这里表现不同!具体的解释会很棒! 解决方法 在第一种情况下,您提供的字符串和分隔符与该字符串中的任
以下是两种情况:

情况1:

scala> "".split('f')
res3: Array[String] = Array("")

案例2:

scala> "f".split('f')
res5: Array[String] = Array()

为什么它在这里表现不同!具体的解释会很棒!

解决方法

在第一种情况下,您提供的字符串和分隔符与该字符串中的任何字符都不匹配.所以它只返回原始字符串.这可以用非空字符串示例来说明:

scala> "abcd".split('f')
res2: Array[String] = Array(abcd)

但是,第二个字符串只包含分隔符.所以它匹配分隔符并拆分字符串.由于拆分不包含任何内容 – 它返回一个空数组.根据Java String文档:

如果表达式不匹配:

If the expression does not match any part of the input then the resulting array has just one element,namely this string.

如果表达式匹配:

Trailing empty strings are therefore not included in the resulting array.

资料来源:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#split(java.lang.String,%20int)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读