背景
今天看到有一段upload处理单行数据的代码,为了分割其中的数据,用split("[ ]+")来进行数据分割。如果数据文件来源确定不变,这里的空格就仅仅只是空格,不会出现tab或其他的制表符,这段数据解析应该不会有大的问题。但是程序设计上要规避并行可能出现的问题,所以这里进行了以下改进,为此特此说明一下!
问题
1. \\s和\s的区别?
2. 本文提到的为什么用\\s而不是[ ]?
说明
这是一个简单的字符串分割问题。
文章提到了对原有既定处理场景的[ ]进行了\\s的改动,从而规避狭义场景。
纪要
\\s和\s的区别?
\s在正则表达式中代表的是一个空白字符,有可能是空格、制表符、或者其他空白。但是由于使用的平台不同,\s中的\会被解析成字符串的一部分,所以需要对其进行转义。因此会用\\双杠引用。
为什么用\\s而不是[ ]?
用\\s的原因很简单,它的涉猎范围比较广,从而能够规避单引用空格[ ]的狭义case。