java - 如何进行这些类型的字符串模式匹配
问题描述
所以如果给我一个这样的字符串:
s1|s2|s3|s4:t1|t2|t3
让我们说首先我想分离所有的's'字符串,然后分离所有的't'字符串。
我如何摆脱像“|”这样的分隔符 和 ':',
我知道我可以做基本的 charAt 和 subString ,但这看起来工作量太大了。
就像我知道模式一样:每个字符串都由 | 分隔 有没有办法使用模式提取字符串?
你们能给我看一些代码吗,或者一些关于我应该学习的主题的提示。
我这样做的方式是使用多个 arraylist 来保存分隔符的索引,然后使用 arraylist 来存储所有字符串,如果我想执行一个操作,那就更难了。
解决方案
您可以使用 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}
.
推荐阅读
- r - 结构时间函数
- tcp - 使用 TCP 滑动窗口的一个理论问题:如何处理不匹配的窗口大小?
- javascript - 在 Ninja Forms 中强制要求两个表单字段中的至少一个
- r - R - 我如何最有效地滞后/领先 data.table 中的多个列多个时期
- javascript - 为什么我的 javascript 代码没有从 html 更新任何文本?
- java - 如何在 JsonArray 中创建(键,值)
- node.js - 如何使用 electron-builder 打包预编译的二进制文件
- c++ - 如何限制整数增加的数量?C++
- postman - Postman 可视化:我可以创建条件语句吗?
- python - 仅返回两个数据框列中的异常的最简单方法是什么?