正则表达式中的逻辑或(“|”),有点意思啊、研究了一下.
public class OrTest {
/**
* @param args
*/
public static void main(String[] args) {
String str = "abc|ass|sdf";
String[] temp = str.split("|");
System.out.println("------"+temp.length);
}
}
运行结果:
------12 。
由此知道,原来“|”在正则表达式中还需要转义,于是:
public class OrTest {
/**
* @param args
*/
public static void main(String[] args) {
String str = "abc|ass|sdf";
String[] temp = str.split("\\|");
System.out.println("------"+temp.length);
}
}
运行结果:
------3 得到想要的结果了、
但是仔细一看,第一个怎么会是12呢,一共加上"|"才11个字符啊。
研究后发现,原来String[] temp = str.split("|");其实相当于String[] temp = str.split("");
对str进行空字符串分割,得到的第一个字符为“”(空字符串),由此可知多的那个字符就是坐标为0的空字符
串。
本文通过Java示例代码详细介绍了正则表达式中逻辑或符号“|”的使用方法及其转义字符的重要性。文章揭示了在使用split方法进行字符串分割时,未正确转义“|”会导致的意外结果,并解释了原因。
702

被折叠的 条评论
为什么被折叠?



