繁体   English   中英

将字符串拆分到第n个定界符

[英]Splitting a string to the nth delimiter

我正在尝试拆分字符串,保留定界符并基于第N个定界符保存到新字符串。 例如。

String s = "HELLO-WORLD-GREAT-DAY"

我想存储HELLO-WORLD-GREAT并砍掉-DAY

我可以使用split[x]捕获单个元素,但似乎无法找出将其声明为新string以供以后使用的最佳方法。

有什么主意吗?

我尝试过使用split last和first等。

我需要能够捕获输入字符串的前三个元素

拆分并合并:

public String removeLast(String input) {
    //Split your input
    String[] parts = input.split("-");

    //Combine to a new string, leaving out the last one
    String output = parts[0];
    for (int i = 1; i < parts.length - 1; i++) {
        output += "-" + parts[i];
    }
    return output;
}

请尝试以下操作:

public String removeLast(String target, String delimiter) {
    int pos = target.lastIndexOf(delimiter);
    return pos == -1 ? target : target.substring(0, pos);
}

您将这样调用方法:

String result = removeLast("HELLO-WORLD-GREAT-DAY", "-");

我可以想到两种简单的方法:

String hw = "HELLO-WORLD-GREAT-DAY"

def result = hw - hw.substring(hw.lastIndexOf('-'))

String.joinsplit的结果:

def result = String.join('-', hw.split('-')[0..-2])

有了groovy,您可以做到

​"HELLO-WORLD-GREAT-DAY".split('-')[0..-2].join('-')​​​​

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM