有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java剥离/删除字符串中的多个单词

如何像这样剥离字符串:

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) 个答案

  1. # 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