java中分割字符串作为分隔符

发布于 2024-12-12 05:53:14 字数 155 浏览 0 评论 0原文

我的问题是我想用分隔符^分割java中的字符串。 我使用的语法是:

readBuf.split("^");

但这不会分割字符串。事实上,这适用于所有其他分隔符,但不适用于 ^

My question is that I want to split string in java with delimiter ^.
And syntax which I am using is:

readBuf.split("^");

But this does not split the string.Infact this works for all other delimiters but not for ^.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

你与清晨阳光 2024-12-19 05:53:14

split 使用正则表达式(不幸的是,IMO)。 ^ 在正则表达式中具有特殊含义,因此需要对其进行转义:

String[] bits = readBuf.split("\\^");

(Java 转义需要第一个反斜杠。实际字符串只是一个反斜杠和插入符号。)

或者,使用 Guava 及其 分割器 类。

split uses regular expressions (unfortunately, IMO). ^ has special meaning in regular expressions, so you need to escape it:

String[] bits = readBuf.split("\\^");

(The first backslash is needed for Java escaping. The actual string is just a single backslash and the caret.)

Alternatively, use Guava and its Splitter class.

汐鸠 2024-12-19 05:53:14

使用\\^。因为 ^ 是一个特殊字符,表示行锚点的开始。

String x = "a^b^c";
System.out.println(Arrays.toString(x.split("\\^"))); //prints [a,b,c]

Use \\^. Because ^ is a special character indicating start of line anchor.

String x = "a^b^c";
System.out.println(Arrays.toString(x.split("\\^"))); //prints [a,b,c]
心房的律动 2024-12-19 05:53:14

你也可以这样用:

readBuf.split("\\u005E");

\u005E是“^”的十六进制Unicode字符,你需要添加一个“\”来转义它。

所有字符都可以通过这种方式转义。

You can also use this:

readBuf.split("\\u005E");

the \u005E is the hexidecimal Unicode character for "^", and you need to add a "\" to escape it.

All characters can be escaped in this way.

ぇ气 2024-12-19 05:53:14

您可以使用 StringTokenizer 而不是 split

StringTokenizer st=new StringTokenizer(Your string,"^");  
while(st.hasMoreElements()){  
    System.out.println(st.nextToken());  
}  

You can use StringTokenizer instead of split

StringTokenizer st=new StringTokenizer(Your string,"^");  
while(st.hasMoreElements()){  
    System.out.println(st.nextToken());  
}  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文