【问题标题】:split a string but dont split when character repeats java [duplicate]拆分字符串但当字符重复时不拆分java [重复]
【发布时间】:2017-07-22 04:50:39
【问题描述】:

如何拆分字符串,但是当字符重复时,不要拆分?

喜欢:

String a = "aHHHbYY";
String[] b = a.split("");

但我不想只拆分不重复的每个字母。

输出如下:

["a", "HHH", "b", "YY"]

【问题讨论】:

  • 试过什么了吗??
  • 使用 for 循环,这会让事情变得更简单
  • 在发布之前指定您的问题。

标签: java string split


【解决方案1】:

您可以使用正则表达式作为解决方案。这是拆分和分离字符并删除重复项的示例。

String input = "aHHHbYY";
String[] result = input.replaceAll("(.)\\1{1,}", "$1").split("");

会得到你:

["a", "H", "b", "Y"]

【讨论】:

  • 一般来说,正则表达式并不那么容易阅读和理解。但无论如何,总是欢迎在您的答案中添加一些描述。除此之外,您的 result["a", "H", "b", "Y"],但 OP 希望数组是 ["a", "HHH", "b", "YY"]
  • @PascalSchneider 问题在我回答后更新。大声笑。
  • 如果你看一下帖子的历史,我的评论仍然适用。
【解决方案2】:

您的问题可以通过正则表达式轻松解决。这可能如下所示:

String regex = "(?<=(.))(?!\\1)";
String a = "aHHHbYY";
String[] b = a.split(regex);

这给出了您想要的确切输出。如果您想更详细的答案,请查看此帖子:

Split regex to extract Strings of contiguous characters

【讨论】:

  • 如果您的问题得到解决,如果您能接受这个答案,我将不胜感激
猜你喜欢
  • 2019-11-01
  • 2010-11-03
  • 1970-01-01
  • 2013-04-18
  • 1970-01-01
  • 1970-01-01
  • 2011-07-06
  • 2011-09-03
  • 2016-03-15
相关资源
最近更新 更多