【问题标题】:How to split "-2-2" to -2,2 ? (I want to split this string only by middle '-' in Java)如何将 "-2-2" 拆分为 -2,2 ? (我想在 Java 中只用中间的 '-' 分割这个字符串)
【发布时间】:2026-01-03 21:10:01
【问题描述】:

split方法应该怎么写?

     String str = "-2-8";
     String[] array =   str.split("?");

【问题讨论】:

  • -2-8-6 呢?

标签: java split


【解决方案1】:
String[] array=str.substring(1).split("-");
array[0]=str.charAt(0).toString()+array[0];

- 分割索引 1 的子字符串。然后再次将前导 - 添加到第一个元素的前面。

【讨论】:

    【解决方案2】:

    使用正则表达式,您可以对任何数字执行此操作,而不是仅 0-9。

    String text = "-2-8";
    
    Pattern r = Pattern.compile("(\\-\\d+)");
    
    Matcher m = r.matcher(text);
    while (m.find())
       System.out.println("Found value: " + m.group(0));
    

    一个很好的正则表达式教程: http://www.tutorialspoint.com/java/java_regular_expressions.htm

    【讨论】: