gpt4 book ai didi

java - 如何用双引号 "作为分隔符拆分字符串?

转载 作者:行者123 更新时间:2023-12-03 20:23:08 27 4
gpt4 key购买 nike

我试过这样拆分-

tableData.split("\\"")

但它不起作用。

最佳答案

看来您试图以与转义 | 相同的方式转义它,即 "\\|"。但是 |" 的区别在于

  • | 是正则表达式引擎中的元字符(它代表 OR 运算符)
  • "是Java语言中字符串字面量的元字符(表示字符串的开始/结束)

要转义任何字符串元字符(如 "),您需要在它之前放置其他负责转义的字符串元字符,即 \1。因此,要创建包含 " 的字符串,例如 this is "quote",您需要将其写为

String s = "this is \"quote\"";
// ^^ ^^ these represent " literal, not end of string

如果我们想创建 \ 文字(我们需要通过在它之前放置另一个 \ 来转义它),则应用相同的想法。例如,如果我们想要创建表示 c:\foo\bar 的字符串,我们需要将其写为

String s = "c:\\foo\\bar";
// ^^ ^^ these will represent \ literal

所以正如您所见,\ 用于转义元字符(使它们成为简单的文字)。
此字符在 Java 语言中用于字符串,但它也用于正则表达式引擎以转义其 metacharacters。 :
\, ^, $, ., |, ?, *, +, (, ), [, {

如果您想创建匹配 [ 字符的正则表达式,您需要使用正则表达式 \[ 但在 Java 中表示此正则表达式的字符串需要写成

String leftBracketRegex = "\\[";
// ^^ - Remember what was said earlier?
// To create \ literal in String we need to escape it

所以要在 [ 上拆分,我们需要调用 split("\\[") 因为代表 [ 的正则表达式是 \[ 在Java中需要写成"\\["

因为 " 不是正则表达式中的特殊字符,但它在 String 中是特殊的,我们只需要将它写成

split("\"");

1) \也用于创建其他字符行分隔符\n,制表符\t。它还可以用于创建 Unicode 字符,例如 \uXXXX,其中 XXXX 是十六进制形式的 Unicode 表中的字符索引。

关于java - 如何用双引号 "作为分隔符拆分字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29986357/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com