当前位置: 首页 > 知识库问答 >
问题:

Java:拆分“+”周围的字符串[重复]

甄德寿
2023-03-14

我刚刚发现,当试图在+周围拆分字符串时,我会得到NullPointerException,但是如果我在-或其他任何东西周围拆分(当然还会更改字符串),它就会工作得很好。

String string = "Strg+Q";
String[] parts = string.split("+");
String part1 = parts[0]; //Strg
String part2 = parts[1]; //Q

这个管用:

String string = "Strg-Q";
String[] parts = string.split("-");
String part1 = parts[0]; //Strg
String part2 = parts[1]; //Q

共有1个答案

宰父涵忍
2023-03-14

由于+是一种特殊的regex语法,您需要转义。使用

String[] parts = string.split("\\+");

而不是

String[] parts = string.split("+");
 类似资料:
  • 我有下面的字符串 我想把它分成[“11122”,“”,“3434”]。可以有以下分隔符:-、/、* 我尝试了以下方法 但是我明白

  • 问题内容: 我想将字符串“ aaaabbbccccaaddddcfggghhhh”拆分为“ aaaa”,“ bbb”,“ cccc”。“ aa”,“ dddd”,“ c”,“ f”等。 我尝试了这个: 但这会吃掉一个字符,因此使用上面的正则表达式我得到“ aaa”,而我希望它成为“ aaaa”作为第一个字符串。 我该如何实现? 问题答案: 试试这个: 说明:我们想将字符串分成相同字符的组,因此我们

  • 问题内容: 使用功能split拆分此String。这是我的代码: 当我尝试这样做时,spli只包含一个字符串。似乎Java在拆分时看不到“ ^”。有人知道如何用字母“ ^”分割此字符串吗? 编辑 解决了:P 问题答案: 这是因为需要一个正则表达式,而不是文字字符串。您必须转义,因为它在regex(字符串开头的锚点)中具有不同的含义。因此,拆分实际上是在第一个字符之前完成的,从而使您完整地返回了完整

  • 我在文件上写了一些样本数据。数据的格式如下- 我必须提取由“[”和“]”分隔的信息。所以我发现- 我不太熟悉字符串拆分。我只知道当字符串仅由一个字符分隔时(例如-string1-string2-string3-…)如何拆分字符串。

  • 问题 你想拆分一个字符串。 解决方案 使用 JavaScript 字符串的 split() 方法: "foo bar baz".split " " # => [ 'foo', 'bar', 'baz' ] 讨论 String 的这个 split() 方法是标准的 JavaScript 方法。可以用来基于任何分隔符——包括正则表达式来拆分字符串。这个方法还可以接受第二个参数,用于指定返回的子字符串数

  • 问题内容: 为什么这段代码的第二行抛出? 尽管这可行: 我使用Java 7。 问题答案: 如果要分割成文字的点,则需要转义该点: 否则,你将在regex上拆分.,这意味着“任何字符”。 请注意在正则表达式中创建单个反斜杠所需的双反斜杠。 因为输入字符串只是一个点,所以得到一个,即”.”,这是一个边沿情况,当在点上分割时会产生一个空数组;从结果中删除所有尾随的空白,但是由于在点上分割点仅留下两个空白