java-从字符串中删除半冒号(如果字符串以字符串结尾)
我有一个要求,如果字符串的末尾存在分号(仅在末尾),则需要删除分号。我尝试了以下代码。但是仍然没有被替换。谁能在行号中告诉我以下代码中需要更改的内容
(我从这里引用了代码。如何从Java中的特定String中删除特定字符?)
public static void main(String[] args) { String text = "wherabouts;";
System.out.println("SSS "+text.substring(text.length()-1));
if(text.substring(text.length()-1) == ";"){
text.replaceAll(";", "");
}
System.out.println("TEXT : "+text);
}
回答:
text.replaceAll(“;”, “”);
由于Java中的字符串是不可变的,因此replaceALl()
method不会进行就地替换,而是会返回新的修改后的字符串。因此,您需要将返回值存储在其他字符串中。另外,要在末尾匹配
分号 ,则需要在$
后面使用量词;
text = text.replaceAll(";$", "");
$
表示字符串的结尾,因为您要替换最后一个semi-colon
..
如果不使用$
,它将替换;
字符串中的所有字符串。
或者,如果您要删除最后一个,则可以简单地使用它;
:
if (text.endsWith(";")) { text = text.substring(0, text.length() - 1);
System.out.println(text);
}
:并且,如果最后还有更多分号:
text = text.replaceAll(";+$", "");
以上是 java-从字符串中删除半冒号(如果字符串以字符串结尾) 的全部内容, 来源链接: utcz.com/qa/424185.html