我刚刚发现,当试图在+
周围拆分字符串时,我会得到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
由于+
是一种特殊的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上拆分.,这意味着“任何字符”。 请注意在正则表达式中创建单个反斜杠所需的双反斜杠。 因为输入字符串只是一个点,所以得到一个,即”.”,这是一个边沿情况,当在点上分割时会产生一个空数组;从结果中删除所有尾随的空白,但是由于在点上分割点仅留下两个空白