public static void main(String[] args) {
String tempName = "afds^afcu^e200f.pdf";
String withoutFileFormat = tempName.substring(0, tempName.length() - 4); //retrieve the string without the file format
String[] splitArray = withoutFileFormat.split("\\^"); //split it using the "^", use escape characters
System.out.println(Arrays.toString(splitArray)); //output the result
}
4条答案
按热度按时间rks48beu1#
String.split()
在java中采用正则表达式。自^
是regex中的一个控制字符(当regex字符串的开头表示“行的开始”),我们需要用反斜杠转义它。因为反斜杠是java字符串文本中的控制字符,所以我们还需要用另一个反斜杠来转义它。6yt4nkrj2#
你需要加上
\\
在split
方法String
用这个把绳子分开(^
),因为^
是正则表达式中的一个特殊字符,需要用\\
:必须在正则表达式中转义的java字符是:.[]{}()<>*+-=^$|
两个结束括号(]和})只需要在打开相同类型的括号后转义。在[]-括号中,有些字符(如+和-)有时不转义。
更多信息。。。
zujrkrfu3#
可以使用检索不带文件扩展名的子字符串,并根据所需的分隔符(^)拆分该子字符串。具体如下:
所需输出:
piv4azn74#
要删除的参数
split()
是一个正则表达式,具有特殊的元字符。如果要拆分的分隔符包含这些特殊字符(例如。^
),您有两个选项:使用转义字符
\
,它必须在java字符串文本中加倍以\\
:如果您不想为此烦恼,或者如果分隔符是在运行时动态分配的,因此您自己无法转义特殊字符,请调用
Pattern.quote()
为您做: