gpt4 book ai didi

java - Java中每次出现一个字母就分割一个数组,形成一个更长的数组

转载 作者:行者123 更新时间:2023-12-02 00:11:30 24 4
gpt4 key购买 nike

每次出现一个字母时,我都会将一个字符串拆分为一个数组,但是现在我想将数组中的每个字符串拆分为更多数组,当另一个字母出现时,在每个拆分下方添加一个数组,并删除该字母。

这是我的代码:

private String input = "118u121u23n24"
private int y = 0;
private String[] split_main = new String[100];
private void split_u(){
String[] split = input.split("u");
for(int x=0; split.length>x; x++){
split_main[y] = split[x];
if(split.length>x+1)
split_main[y+1] = "+";
y +=2;
}

这会将我的字符串分割成这样的数组 - 每次出现“u”时都会创建一个新数组并添加一个加号

118
+
121
+
23n24

我现在想要遍历每个数组并查找字母 n 并将其放在单独的行上,这样这将是新数组。但是,每次尝试此操作时,我都会遇到错误,因为我似乎无法在数组上再次使用 Split 方法。如果无法使用 split,那么还有其他方法吗?

118
+
121
+
23
n
24

预先感谢您的帮助。

最佳答案

试试这个

String[] split = input.split("u|n");

u|n 表示用 un 分割字符串,只需用两个分隔符分割字符串

当您想在两个级别中添加不同的分隔符时,您应该编写这样的代码。

    String input = "118u121u23n24";
String[] s2;
ArrayList<String> main = new ArrayList<String>();

String[] split = input.split("u");
for(int x=0; split.length>x; x++){
s2 = split[x].split("n");

for(int k=0; k<s2.length; k++){
main.add(s2[k]);
if(s2.length>k+1)
main.add("n");
}

if(split.length>x+1)
main.add("+");
}
// print main array to test
for(int i=0;i<main.size();i++)
System.out.println(main.get(i));

关于java - Java中每次出现一个字母就分割一个数组,形成一个更长的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735348/

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