java - 从 Java 字符串中获取数据

标签 java arrays string

我有以下类型的字符串:

{{a}{b}{c}{d}{e}{f}{g}{h}}

其中 a 到 h 可以是任何字符串(不包含 {{)。

获取 a, b, c,..h 的最有效方法是什么一个 Array 可能在 Java 中?

扫描每个字符对我来说似乎不是一个好的解决方案。

最佳答案

另一种选择是使用正则表达式,如下所示:

String text = "{{a}{b}{c}{d}{e}{f}{g}{h}}";

Pattern pattern = Pattern.compile("(?<=\\{)([^{}]*)(?=\\})");
Matcher matcher = pattern.matcher(text);

String[] result = new String[8];
for(int i = 0; i < result.length && matcher.find(); i++) {
    result[i] = matcher.group(1);
}
System.out.println(Arrays.toString(result));

输出是:

[a, b, c, d, e, f, g, h]

请务必注意,至少在当前形式下,此解决方案最多只能找到 8 个字符串。如果您需要更动态的解决方案,请参阅 Jordi Castilla 的回答。

关于java - 从 Java 字符串中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715739/

相关文章:

string - 如何使用Delphi和writebinary命令将二进制值的字符串格式写入注册表?

java - 如何创建一个最小的Android gradle项目?

java - 如何迭代 json 对象数组(gson)

javascript - 将值插入数组会导致 undefined variable ,但可以在函数内工作

javascript - 为什么 JavaScript 允许将数组和函数存储在一个变量中?

c++ - 尝试解除分配 char 数组 : _BLOCK_TYPE_IS_VALID(pHead->nBlockUse) 的指针时出错

java - 为什么 String 的 hashCode() 不缓存 0?

algorithm - 这个算法/​​例程的名称是什么?

java - 找不到参数 [{module=support-v4}] 的方法 exclude()

java - 超出 GC 开销限制。用Java读取文件