【问题标题】:Java Spit "." cannot work [duplicate]Java 吐“。”无法工作[重复]
【发布时间】:2025-12-28 10:40:06
【问题描述】:

我尝试拆分“。”但它不能工作,我得到 strings.length equals 0 。它有什么问题?

String string = "11.12.1";
String[] strings = string.split(".");

【问题讨论】:

  • 鉴于您的代码中有错字,您确定这是您正在运行的确切代码吗?
  • 使用时有限制吗?
  • 对不起,我之前发错了代码。
  • 使用 \\.对于这样的拆分: String[] strings = string.split("\\.");
  • 对不起,我问了一个愚蠢的问题。,我怎样才能做得更好?

标签: java string split


【解决方案1】:

由于字符串拆分采用正则表达式作为参数,. 是任何字符的通配符。只需使用反斜杠将其转义(对于 java,您还必须使用另一个反斜杠对其进行转义)。此外,正如 Youcef Laidani 指出的那样,您必须在刚刚创建的字符串上调用 split,而不是别的:

string.split("\\.");

【讨论】:

  • 不客气。 split split 总是使用正则表达式是使用它时唯一要记住的事情,因为如果你不这样做,它会产生令人惊讶的效果。如果您使用 limit 参数,还请记住,您限制将返回多少个字符串,而不是限制字符串将被拆分多少次。这意味着如果将其设置为 1,则字符串根本不会被拆分。有关更多信息,您还可以查看documentation