请问split("\\.")是什么意思?(JAVA代码)

String str[] = this.ip.split("\\.");ip是已经赋值的IP地址,目的就是要将IP地址按点分开,把分开的字符串放到str[]数组了,但是"\\."是什么意思?我应该是"."吧,我个人觉得,“\\.”应该不是转义字符,我记得。

1. 首先要明白split方法的参数含义:
public String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串

2. 然后就要明确正则表达式的含义了:

    '.'点 匹配除“\n”和"\r"之外的任何单个字符。

    '\'表示转义字符,而双重转义相当于原意,

3. 因此“\\.”和“.”同意

4.全句即根据'.'拆分字符串,符合ip拆解需求

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

希望能帮到您

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-08-24
\\会转义成反斜杠,反斜杠本身就是转义符,所有就成了“\.”,在进行转义就是.,所以\\.实际上是“.”。
在java.lang包中也有String.split()方法,与.net的类似,都是返回是一个字符型数组,但使用过程中还有一些小技巧。
如执行:"2|33|4".split("|")
出来的结果是:
""
2
|
3
3
|
4
奇怪吧,不过注意看一下API说明还是知道原因的.
java.lang.string.split
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator,[limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解

所以正常的写法是这样的:
1、如果用“.”作为分隔的话,必须是如下写法:String.split("\\."),这样才能正确的分隔开,不能用String.split(".");
2、如果用“|”作为分隔的话,必须是如下写法:String.split("\\|"),这样才能正确的分隔开,不能用String.split("|");
“.”和“|”都是转义字符,必须得加"\\";
3、如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b =2 or c=3”,把三个都分隔出来,可以用String.split("and|or");
split分隔符总结
1.字符"|","*","+"都得加上转义字符,前面加上"\\"。
2.而如果是"\",那么就得写成"\\\\"。
3.如果一个字符串中有多个分隔符,可以用"|"作为连字符。本回答被网友采纳
第2个回答  推荐于2018-02-24
在java中 \代表转义字符 \n \t 等,而 \\ 代表一个反斜杠 而.代表一个元字符
要表示一个.就需要用 要用\.
所以"\\." 在实际编译中 就代表 .本回答被网友采纳
第3个回答  推荐于2017-04-23
Java中String.split方法传入的参数是一个RegularExpr,是一个正则表达式。
在正则表达式中,点号表示所有字符的意思,所以需要用\来转义。
第4个回答  2013-09-04
VBS代码中确实不用转义,但是在JAVA或JS中,它采用的是C语言的语法,所以要转义,引号内要双写\\表示一个反\,\.表示仅取一个点号。所以\\.才是正解。
相似回答