如何剥离这样的字符串:
String a = "ItemStack{DIAMOND_HELMET x 1,UNSPECIFIC_META:{meta-type=UNSPECIFIC, display-name=PRO, repair-cost=1}}"
我希望得到像
这样的东西"Diamond_HELMET 1 UNSPECIFIC PRO"
我尝试的方法只是替换了一堆字符串,但它在***中很痛苦,看起来很糟糕。只是想知道是否有人有更好的解决方案/选项。 抱歉忘了添加我自己的代码:/
String itemStackStringName = "ItemStack{DIAMOND_HELMET x 1, UNSPECIFIC_META:{meta-type=UNSPECIFIC, display-name=PRO, repair-cost=1}}";
String getItemStacks = itemStackStringName.replace("ItemStack","")
.replace("{","").replace("}", "").replace("UNSPECIFIC_META:", "")
.replace("display-name", "").replace("=","")
.replace("meta-type", "").replace("repair-cost1", "")
.replace("x", "").replace(",","");
System.out.println(getItemStacks);
"DIAMOND_HELMET 1 UNSPECIFIC PRO"
它有效,但它只是一个巨大的混乱。
答案 0 :(得分:1)
如果您知道字符串的类型,您可以继续这样做:
String arr[] = a.split("\\{");//you get an array of 3 strings
String someFinalString = arr[1].split("x")[0].trim();//you get "DIAMOND_HELMET"
someFinalString += arr[1].split("x")[1].split(",")[0];
arr = arr[2].split("\\=");//you get an array of 4 strings
someFinalString += " " + arr[1].split(",")[0] + " " + arr[2].split(",")[0];
将来请发布您尝试过的内容。拆分这样的东西看起来总是很糟糕。你总能在以后简明扼要。