首页 > 解决方案 > 如何进行这些类型的字符串模式匹配

问题描述

所以如果给我一个这样的字符串:

  s1|s2|s3|s4:t1|t2|t3

让我们说首先我想分离所有的's'字符串,然后分离所有的't'字符串。

我如何摆脱像“|”这样的分隔符 和 ':',

我知道我可以做基本的 charAt 和 subString ,但这看起来工作量太大了。

就像我知道模式一样:每个字符串都由 | 分隔 有没有办法使用模式提取字符串?

你们能给我看一些代码吗,或者一些关于我应该学习的主题的提示。

我这样做的方式是使用多个 arraylist 来保存分隔符的索引,然后使用 arraylist 来存储所有字符串,如果我想执行一个操作,那就更难了。

标签: javaregexstring

解决方案


您可以使用 String.split 函数:

String[] parts = "s1|s2|s3|s4:t1|t2|t3".split("[:|]");
// parts = { s1, s2, s3, s4, t1, t2, t3 }

请注意,parts根据输入,数组的大小可能不同(例如,s1|s2将给出{s1, s2}.


推荐阅读