String 是否有一种在处理过程中拆分字符串而不删除分隔符的方法?

String 是否有一种在处理过程中拆分字符串而不删除分隔符的方法?,string,split,processing,delimiter,String,Split,Processing,Delimiter,这是我的密码: String abc = "abcdefghijklmnopqrstuvwxyz"; String [] abc1 = split(abc,b); println (abc1); …这里值得一提的是印刷品: [0] "a" [1] "cdefghijklmnopqrstuvwxyz" “b”是否可能包含在两个拆分字符串中?我不是一个经验丰富的程序员,所以我们一如既往地非常感谢您提供的任何帮助。我猜您正在寻找的是: String abc = "abcdefghijklmno

这是我的密码:

String abc = "abcdefghijklmnopqrstuvwxyz";

String [] abc1 = split(abc,b);

println (abc1);
…这里值得一提的是印刷品:

[0] "a"
[1] "cdefghijklmnopqrstuvwxyz"

“b”是否可能包含在两个拆分字符串中?我不是一个经验丰富的程序员,所以我们一如既往地非常感谢您提供的任何帮助。

我猜您正在寻找的是:

String abc = "abcdefghijklmnopqrstuvwxyz";

println(abc.substring(0,abc.indexOf("b")));  //start to b
println(abc.substring(abc.indexOf("b")));    //b to end

我猜您正在寻找的是的和方法:

String abc = "abcdefghijklmnopqrstuvwxyz";

println(abc.substring(0,abc.indexOf("b")));  //start to b
println(abc.substring(abc.indexOf("b")));    //b to end

另一种选择是只添加“b”返回。您知道分隔符是什么,并且知道它在哪里,因此可以手动重新添加它:

for (int i=0; i<abc.length; i++) {
    if (i > 0) {
        abc[i] = 'b' + abc[i] + 'b';
    }
}
abc[0] = abc[0] + 'b';
abc[abc.length-1] = 'b' + abc[abc.length-1];
for(int i=0;i 0){
abc[i]='b'+abc[i]+'b';
}
}
abc[0]=abc[0]+'b';
abc[abc.length-1]=“b”+abc[abc.length-1];

不过,使用substring()和indexOf()更为传统。

另一种选择是只将“b”添加回。您知道分隔符是什么,并且知道它在哪里,因此可以手动重新添加它:

for (int i=0; i<abc.length; i++) {
    if (i > 0) {
        abc[i] = 'b' + abc[i] + 'b';
    }
}
abc[0] = abc[0] + 'b';
abc[abc.length-1] = 'b' + abc[abc.length-1];
for(int i=0;i 0){
abc[i]='b'+abc[i]+'b';
}
}
abc[0]=abc[0]+'b';
abc[abc.length-1]=“b”+abc[abc.length-1];

不过,使用substring()和indexOf()更为传统。

啊,谢谢,这看起来正是问题所在。。虽然我一直收到一个“越界例外”,我不明白为什么我不知道你的意思。我在上面发布的代码有效。在特定情况下,传递给substring()的索引可能是错误的。你能发布一个片段吗?是的,我的代码如下:“println(abc.substring(1,abc.indexOf(9));”我想也许我的错误是写了一个“int”而不是一个字符?我想你误用了
indexOf()
,它返回你作为参数传递的第一个找到的字符的索引。如果您试图获取从1到9的字符,只需执行
println(abc.substring(1,9))。如果你觉得这是可以接受的,请随意标记/投票:)啊,谢谢,这看起来正合适。。虽然我一直收到一个“越界例外”,我不明白为什么我不知道你的意思。我在上面发布的代码有效。在特定情况下,传递给substring()的索引可能是错误的。你能发布一个片段吗?是的,我的代码如下:“println(abc.substring(1,abc.indexOf(9));”我想也许我的错误是写了一个“int”而不是一个字符?我想你误用了
indexOf()
,它返回你作为参数传递的第一个找到的字符的索引。如果您试图获取从1到9的字符,只需执行
println(abc.substring(1,9))。如果您认为这是可以接受的,请随意标记/投票:)