Java拆分^(插入?)不工作,这是一个特殊字符吗?
在Java中,我试图拆分^
字符,但它无法识别它。 转义\^
抛出代码错误。
这是一个特殊的角色还是我需要做一些其他事情来让它识别出来?
String splitChr = "^"; String[] fmgStrng = aryToSplit.split(splitChr);
^
是Java正则表达式中的特殊字符 – 它意味着“匹配输入的开头”。
你需要用"\\^"
来逃避它。 需要使用双斜杠来转义\
,否则Java的编译器会认为你试图在字符串中使用特殊的\^
序列,类似于换行符的\n
。
\^
虽然不是特殊的转义序列,但是你会遇到编译器错误。
简而言之,使用"\\^"
。
^匹配字符串的开头。 你需要转义它,但在这种情况下你需要转义它,以便正则表达式解析器理解逃避转义的方法,所以:
String splitChr = "\\^"; ...
应该得到你想要的。
String.split()
接受正则表达式。 ^
符号是表示输入序列开头的特殊符号。 你需要逃避它才能使它工作。 你试图用\
来逃避它是正确的,但它是一个特殊的角色来逃避Java字符串中的东西,所以你需要用另一个\
来逃避转义字符。 它会给你:
\\^
使用"\\^"
。 使用此示例作为指南:
String aryToSplit = "word1^word2"; String splitChr = "\\^"; String[] fmgStrng = aryToSplit.split(splitChr); System.out.println(fmgStrng[0]+","+fmgStrng[1]);
它应该打印“word1,word2”,使用"\\^"
有效地分割字符串。 第一个斜杠用于逃避第二个斜杠。 如果没有双斜杠,Java会认为^是一个转义字符,就像换行符"\n"
上述答案都没有意义。 这是正确的解释。
- 众所周知,^不需要在Java String中进行转义。
- 因为^是RegulalExpression中的特殊charectar,所以它希望你传入\ ^
- 我们如何在java中创建字符串\ ^? 像这样String splitstr =“\ ^”
请让我知道这个解释有帮助。 如果有的话,请承担错别字。
谢谢-karuna
String[] fmgStrng = aryToSplit.split("\\\^");
- 我可以通过Java中的引用传递原始类型吗?
- 将Jersey客户端1.x升级到2.x时,UriBuilder上的AbstractMethodError
- WEEK_OF_YEAR在不同的机器上不一致
- Jetty mysql连接池配置错误:javax.naming.NameNotFoundException; 剩余名称’env / jdbc / —(mysql 5.0 + jetty 7.0.1)
- 春季默认@Transactional和默认的丢失更新
- 在jsp页面中读取并显示本地文本文件有错误
- 在Java中,原始类型和数组是否包含包含?
- ‘重视语义’和’指针语义’是什么意思?
- 将Java文件包含到Coldfusion中