java - 根据模式拆分字符串并将其合并回来

标签 java string split

我需要根据模式拆分一个字符串,然后我需要再次将它合并回字符串的一部分。

例如:下面是实际的和预期的字符串。

String actualstr="abc.def.ghi.jkl.mno";
String expectedstr="abc.mno";

当我在下面使用时,我可以存储在一个数组中并迭代以取回它。无论如何它可以比下面更简单高效地完成。

String[] splited = actualstr.split("[\\.\\.\\.\\.\\.\\s]+");

虽然我可以根据索引访问字符串,但有没有其他方法可以轻松做到这一点。请指教。

最佳答案

您不了解正则表达式的工作原理。

这是没有转义的正则表达式:[\.\.\.\.\.\s]+

您有一个字符类 ([])。这意味着没有理由在其中包含多个 . 。您也不需要在 char 类中转义 .

这是与您的正则表达式等效的正则表达式:[.\s]+。作为 Java 字符串,它是:"[.\\s]+".


您可以对字符串执行 .split("regex") 以获得数组。从那一点得到解决方案非常简单。

关于java - 根据模式拆分字符串并将其合并回来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36780583/

相关文章:

java - 告诉 java servlet 何时从外部命令行调用返回

java - 将 JList 项目逐行添加到字符串数组列表中

php - preg_split 在 PHP 中有两个定界符

java - 使用 cURL 发布 JSON 正文的 Ant exec 任务不起作用,相同的命令在 Windows 命令提示符下手动工作

java - 如何将东西添加到系统托盘并添加 mouseOver() 功能?

java - JFrame 设置的简短编写方式

java - 使用词边界和 POS 将句子拆分为固定大小的 block

string - subseq (LISP) 的简单问题

sql - 使用 regexp_like

javascript - 使用 JQuery 拆分变量