배열로 구성을 분할하려하지만 일부 문제가 있습니다.문자열 목록에 자바 스플릿 문자열 목록
내 설정은 다음과 같습니다
Enchantments: Durability:3 Unbreaking:2
내가 내 배열 [0]Durability [1]3 [2]Unbreaking [3]2
처럼보고 싶어하지만 난 단지 내구성에 가서 얻을 수 있습니다 [0]에 3 [1]를 그 이상으로 가지 않을 것입니다. 모든 코드가 작동하며 필요한 것은 다음과 같습니다. Help! 코드 태그는 웹 사이트에서 최악하고 난 당신이 문자열을 분할 할 때 정규식 ":| "
을 사용 그래서 여기
if (((String)nodes.get(nodeapi)).contains("enchantments:")){
System.out.println("found");
ench = ((String)nodes.get(nodeapi)).replace("enchantments:", "");
System.out.println(ench);
String[] enc = ench.split(" ");
System.out.println("0 " + enc[0]);
System.out.println("1 " + enc[1]);
int p = 0;
for (int i2=0;i2<enc.length*2;i2++){
p++;
encha = enc[i2].split(":");
System.out.println("Passed loop: " + p + " with encha: "+encha[i2]);
}
}
주의하십시오. 당신이 올린 코드는''enchantments :''를 빈 문자열로 바꿉니다 만, 여러분의 예제는''enchantments :''다음에 공백이 있습니다.이 공간은 문자열에 남아있을 것입니다. 다른 사람들이 제안한대로''| split ''을 사용하면,''내구성 ''대신에''enc [0]'에 빈 문자열이 남을 것입니다. 왜냐하면'split() 공백을 구분 기호로 사용합니다. 이것이 문제라면'split()'전에'trim()'을 사용하십시오. – ajb
(또는 대답 중 하나를 수행하고 '바꿀 문자열'에 공백을 넣으십시오.) – ajb