Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除java中字符串的最后一部分_Java - Fatal编程技术网

删除java中字符串的最后一部分

删除java中字符串的最后一部分,java,Java,//useSplitToRemoveLastPart()的实现 如果您希望删除第3部分,并且所有单词都用空格隔开,有人能帮忙吗 private static String useSplitToRemoveLastPart(String y) { //What goes here .. It should chop the last part of the string.. return null; } 如果要使用“拆分”,则可以执行以下操作: String str ="part1 p

//useSplitToRemoveLastPart()的实现


如果您希望删除第3部分,并且所有单词都用空格隔开,有人能帮忙吗

private static String useSplitToRemoveLastPart(String y) {

  //What goes here .. It should chop the last part of the string..
return null;

 }
如果要使用“拆分”,则可以执行以下操作:

String str ="part1 part2 part3";

String result = str.substring(0,str.lastIndexOf(" "));
字符串s[]=Y.split(“”);
字符串n=“”;
对于(int i=0;i
您的整个代码可以优化为:

String s[] = Y.split(" ");
String n = "";
for (int i = 0; i < s.length - 1; i++)
        n+= s[i];
return n;

顺便说一下,如果您需要构建的方法名为
useSplitToRemoveLastPart(String t)
,那么我建议您使用split来删除最后一部分


看一看。

如果您真的想使用拆分:

boolean foundmatch = y.startsWith(x);
y = foundmatch? x : "";
只需将目标和要删除的最后一个子字符串传递给它,例如:

public String removeLastSubstring(String target, String toRemove){
    int idx = target.lastIndexOf(toRemove);
    target = target.substring(0, idx) + target.substring(idx + toRemove.length());
    return target;
}

您是否介意定义“字符串的最后一部分”是什么?请给出一个给定输入和给定输出的具体示例。这些指令隐含地要求使用
split()
,而此解决方案不要求使用。我不打算投反对票,因为我发现这个方法是优越的(对于现实世界而言),但它不符合方法名称所规定的要求。它可能不会回答OP,但这是我和其他10个人正在寻找的答案。谢谢:)我想用+1来解决给定指令的OPs问题,但我也想用-1来鼓励在循环中使用
string+=otherString
。:)也许我生活在另一个世界,但如何连接字符串?
StringBuilder sb=new StringBuilder();for(…){sb.append(s[i]);}返回sb.toString()
private static String useSplitToRemoveLastPart(String str) {
    String[] arr = str.split(" ");
    String result = "";
    if (arr.length > 0) {
        result = str.substring(0, str.lastIndexOf(" " + arr[arr.length-1]));
    }
    return result;

}
public String removeLastSubstring(String target, String toRemove){
    int idx = target.lastIndexOf(toRemove);
    target = target.substring(0, idx) + target.substring(idx + toRemove.length());
    return target;
}
String s = "123 #abc# 456";
s = removeLastSubstring(s, "#abc#");