java - 在模式上分割字符串首先出现,如 ";;;"在 Post Java 中解释?

标签 java regex string split

我想破坏一个最初包含一些不需要的字符并且长度不受限制的字符串。

例如:

;;;USA;23;john;;;USA:24;charles

我想要的部分是在第一个“;;;”之后,即:

USA;23;john;;;USA:24;charles

我尝试过:

 inputtring1 = ";;;USA;23;john;;;USA:24;charles";
 String temp = inputString1.split(";;;")[1];

但它不起作用;它显示的结果类似于

USA;23;john

“;;;”可以以任意数量的字符串形式与其他记录一起出现。上面的字符串是为了表明它不在固定位置。

最佳答案

如果您只想要第一个 ";;;" 之后的所有内容,只需执行以下操作:

String stuff = str.replaceFirst(".*?;;;"), "");

这里的一个关键点是不情愿量词*?,它在仍然匹配的同时消耗尽可能

关于java - 在模式上分割字符串首先出现,如 ";;;"在 Post Java 中解释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27895699/

相关文章:

Java 通配符混淆示例

java - 获取异常原因的唯一标识符

java - 如何使用流将映射值聚合到集合中

r - 如何从混合字符串中提取数字

javascript - 从段落中搜索文本 - Javascript?

java - 如何使用java从e​​token访问证书和私钥

仅当存在 `=` 时才匹配 Python 正则表达式

java - 在 Google Refine 中解析部分字符串 - 错误消息

regex - 如何安全地使用用户输入中的正则表达式?

c++ - 将字符串的 UNIX 行结尾转换为 DOS 行结尾