【问题标题】:Java Split String list into a string listJava将字符串列表拆分为字符串列表
【发布时间】:2014-12-16 03:35:05
【问题描述】:

我正在尝试将配置拆分为一个数组,但我有 一些问题。

我的配置如下:

Enchantments: Durability:3 Unbreaking:2

我希望我的数组看起来像 [0]Durability [1]3 [2]Unbreaking [3]2

但我只能获得进入 [0] 和 3 进入 [1] 的耐久度 不会走得更远。所有代码都有效,这就是您所需要的。 帮助!代码标签是网站上最糟糕的,我无法得到它们 我的生活,所以在这里

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] 中留下一个空字符串,而不是"Durability",因为split() 会将前导空格视为分隔符。如果这是一个问题,请在split() 之前使用trim()
  • (或者像其中一个答案那样做,并在您replace的字符串中包含空格。)

标签: java arrays list split


【解决方案1】:

拆分字符串时尝试使用正则表达式":| "

string.split(":| ");

所以您的代码将如下所示:

String[] enc = ench.split(":| ");

(如果 ench 是 Durability:3 Unbreaking:2

那么数组就是你想要的。

【讨论】:

  • 那么当我这样做时,它在我的数组中会是什么样子?我是否保持我的代码相同只是更改拆分并且它会起作用?因为它适用于前 2,所以 [0] 表示耐用性,而 [1] 表示 3 但它没有采用列表中的第二项,我试图将其拆分并拆分到我需要它进入的列表中。我需要它将项目从 enc 拆分为 encha 0 和 1,并将 enc[1] 拆分为 enc 2 和 3,依此类推
  • 你要拆分的字符串是什么?
  • 将第 5 行替换为 ench.split(":| ");正如 JClassic 所说,你将拥有一个长度为 4 的数组,其中包含你想要的元素 [0]Durability [1]3 [2]Unbreak [3]2
  • ZOMG 非常感谢你们,我断断续续地研究了大约 8 个小时。你帮了我很多!!!!欣赏!
【解决方案2】:

你可以这样做

String x = "Enchantments: Durability:3 Unbreaking:2";
x = x.replace("Enchantments: ", "");
String[] values = x.split(":|\\s");
for(String val : values)
   System.out.println(val);

【讨论】:

    猜你喜欢
    • 2019-04-16
    • 2015-09-01
    • 2011-11-13
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    相关资源
    最近更新 更多