如何从字符串变量java的最后一个字符中解脱出来

如何从字符串变量java的最后一个字符中解脱出来,java,Java,我有一个字符串变量,在某些时候变量在字符串的末尾有“+”或“#”字符。我想从字符串末尾删除这些字符。我编写了以下代码,但它不起作用。代码会编译,else命令会工作,但if和if-else语句不工作。谢谢你的帮助 if (konHamle.contains("+") ) { int kont1 = konHamle.indexOf("+"); hamHamle = konHamle.substring(0, konHamle.length() - 1); break; }

我有一个字符串变量,在某些时候变量在字符串的末尾有“+”或“#”字符。我想从字符串末尾删除这些字符。我编写了以下代码,但它不起作用。代码会编译,else命令会工作,但if和if-else语句不工作。谢谢你的帮助

if (konHamle.contains("+") ) 
{
    int kont1 = konHamle.indexOf("+");
    hamHamle = konHamle.substring(0, konHamle.length() - 1);
    break;
} 
else 
{
    hamHamle = konHamle;
    break;

}

使用以下方法更简单:

甚至更短(但可读性较差):


使用以下方法更简单:

甚至更短(但可读性较差):

您可以使用字符串的方法

public String removeLastPlusMethod(String str) {
    if (str.length() > 0 && str.charAt(str.length()-1)=='+') {
      str = str.substring(0, str.length()-1);
    }
    return str;
}
您还可以使用method检查字符串的最后一个字符。

您可以使用method of string

public String removeLastPlusMethod(String str) {
    if (str.length() > 0 && str.charAt(str.length()-1)=='+') {
      str = str.substring(0, str.length()-1);
    }
    return str;
}

您还可以使用方法检查字符串的最后一个字符。

indexOf
为您提供第一个出现的字符,因此您的代码可能无法工作

试试正则表达式
$
标记行的结尾,这也将处理问题中提到的多个字符,如
#
+

konHamle = konHamle.replaceAll("[#+]$", "");

indexOf
为您提供第一次出现,因此您的代码可能无法工作

试试正则表达式
$
标记行的结尾,这也将处理问题中提到的多个字符,如
#
+

konHamle = konHamle.replaceAll("[#+]$", "");

定义不起作用。的解决方案可能对您有用。您想删除的字符可以出现在其他地方,还是只出现在末尾?我会尝试使用
hamHamle=konHamle.substring(0,konHamle.lastIndexOf(“+”)-1)解除我的意思是摆脱这个角色。。。只在最后。。。谢谢定义不起作用。的解决方案可能对您有用。您想删除的字符可以出现在其他地方,还是只出现在末尾?我会尝试使用
hamHamle=konHamle.substring(0,konHamle.lastIndexOf(“+”)-1)解除我的意思是摆脱这个角色。。。只在最后。。。谢谢。我会查一下并告诉你的。问候,我会检查并让你知道。你好,谢谢你。。。这很有效…谢谢你。。。这很有效。。。