gpt4 book ai didi

java - 有效地将数组格式的字符串输入转换为字符串数组

转载 作者:行者123 更新时间:2023-12-02 05:16:23 26 4
gpt4 key购买 nike

假设有以下形式的字符串输入:

{ 'OTH', 'REJ', 'RSTO', 'RSTOS0', 'RSTR', 'S0', 'S1', 'S2', 'S3', 'SF', 'SH' }

将其转换为字符串数组(每个元素为 OTHREJ 等)的有效方法是什么?

我目前已经使用 String.replace()String.split() 完成了此操作,并且还考虑使用 regex-s 来实现相同的目的,但是想知道是否有更简单/直观的方法来做到这一点。

最佳答案

replacesplit 都需要迭代整个字符串,这意味着您需要迭代两次。使用 Scanner 您可以一次性完成此操作,但您需要使用表示非单词字符的分隔符(非 A-Z a-z 0-9 _),可以用正则表达式编写为 \\W

所以你的代码可以看起来像

String text = "{ 'OTH', 'REJ', 'RSTO', 'RSTOS0', 'RSTR', 'S0', 'S1', 'S2', 'S3', 'SF', 'SH' }";
List<String> tokens = new ArrayList<>();

Scanner sc = new Scanner(text);
sc.useDelimiter("\\W+");// one or more non-word character
while(sc.hasNext())
tokens.add(sc.next());

System.out.println(tokens);//[OTH, REJ, RSTO, RSTOS0, RSTR, S0, S1, S2, S3, SF, SH]
sc.close();

关于java - 有效地将数组格式的字符串输入转换为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26920114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com