[英]java string split is not giving expected result
我正在尝试将字符串拆分为字符串[],但即时通讯未得到预期的结果。 怎么了
String animals = "dog|cat|bear|elephant|giraffe";
String[] animalsArray = animals.split("|");
我希望animalsArray包含以下内容:
animalsArray[0] = "dog"
animalsArray[1] = "cat"
animalsArray[2] = "bear"
...
但它仅包含:
animalsArray[0] = "d"
animalsArray[1] = "c"
animalsArray[2] = "b"
...
String.split()
拆分正则表达式,而不仅仅是普通字符串,因此您必须转义“ |” (因为它具有特殊含义),并按以下步骤操作:
split("\\|")
split
方法将正则表达式作为其参数,并且|
有特殊的意义。 使用反斜杠对其进行转义,并针对Java转义反斜杠本身:
String[] animalsArray = animals.split("\\|");
该页面列出了Java正则表达式中的特殊符号。 寻找|
在“逻辑运算符”部分中。
尝试使用\\\\|
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String animals = "dog|cat|bear|elephant|giraffe";
String[] animalsArray = animals.split("\\|");
System.out.println(Arrays.toString(animalsArray));
}
}
在控制台中输出:
[dog, cat, bear, elephant, giraffe]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.