Java Strip /从字符串中删除多个单词

时间:2017-12-24 20:36:47

标签: java string replace split formatting

如何剥离这样的字符串:

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"

它有效,但它只是一个巨大的混乱。

1 个答案:

答案 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];

将来请发布您尝试过的内容。拆分这样的东西看起来总是很糟糕。你总能在以后简明扼要。

只是证明这是有效的(你可以自己弄清楚我猜怎么小写):DrJava for simplicity