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

字符串分割产生错误结果[重复]

傅雪松
2023-03-14

我有一个字符串a如下

String caret= "Y^LEAD_PROJECT_V.vw^View LEAD_PROJECT_V.vw^INF^View^Extension^RECOMPILE^Unit Test^Recompile - Test ^Test View PROJECT_V.vw^^SIMPLE^^^^^^^";

我想用^拆分这个字符串。所以我使用了以下代码来拆分

String[] split = caret.split("\\^");
System.out.println(split.length);

split.length获得:

12

需要< code>split.length:

19 // as there are 18 caret symbols in the string

我不明白我做错了什么。无论我使用什么正则表达式,我都得到相同的结果。此外,我无法修改字符串插入符号

谁能帮我把19作为数组长度。

共有1个答案

宰父保臣
2023-03-14

尝试使用“\\^”,-1 如下所示:

  String[] split = caret.split("\\^",-1);

使用 -1 可以包含空字符串,输出 = 19
有关更多信息,请查看此链接

 类似资料:
  • 问题内容: 我有一条LINQ语句,如下所示: 这将失败,因为拆分功能失败,因为LINQ to Entities无法将此查询转换为SQL。 这是有道理的,但是优雅地实现这一目标的等效方法是什么?我想到的唯一方法是在检索到的字符串上手动运行一个循环,然后将其拆分,但我想一次获得它。 问题答案: 您可以用来使选择发生在内存中,而不是EF中。

  • 问题内容: 每当出现“”时,我都尝试拆分字符串,例如语句test abc。然后,将每个单词中的第一个字母从头到尾移动。我将字母移动到使用原始字符串 所以我的问题是,我将如何分割字符串,然后开始在分割字符串的每个部分中移动字母? 问题答案: 您不必为此进行-transform-join;一步就能做到。 正则表达式基本上分为3组: 那么,作为替换字符串使它明显和清晰,切换和周围。 因此,应该清楚的是,

  • String 类的 split() 方法可以按指定的分割符对目标字符串进行分割,分割后的内容存放在字符串数组中。该方法主要有如下两种重载形式: 其中它们的含义如下: str 为需要分割的目标字符串。 sign 为指定的分割符,可以是任意字符串。 limit 表示分割后生成的字符串的限制个数,如果不指定,则表示不限制,直到将整个目标字符串完全分割为止。 使用分隔符注意如下: 1)“.”和“|”都是转

  • 本文向大家介绍Java分割字符串,包括了Java分割字符串的使用技巧和注意事项,需要的朋友参考一下 示例 您可以分割String特定的分隔字符或正则表达式,可以使用具有以下签名的方法:String.split() 请注意,定界字符或正则表达式将从结果字符串数组中删除。 使用分隔字符的示例: 使用正则表达式的示例: 您甚至可以直接拆分String文字: 警告:不要忘记该参数始终被视为正则表达式。 在

  • 我需要有关split()方法的帮助。我有以下字符串: 我需要将值放入数组中。有3个可能的字符串:“0”、“1”和“” 我的问题是,当我尝试使用时: 我的值仅保存到最后一个0。看起来“| | |”部分被修剪了。我做错了什么? 谢谢

  • 问题内容: 如何用定界符分割字符串,但是如果转义了,则不能分割?例如,我有一个字符串: 定界符为,转义定界符为。此外,我想忽略转义的反斜杠,因此中的仍然是分隔符。 因此,使用上面的字符串,结果应该是: 问题答案: 使用黑魔法: 匹配一个反斜杠,后跟一个字符,将其跳过并匹配您的定界符。