用java替换字符串中的最后一个字符
我有一个字符串:用java替换字符串中的最后一个字符,java,string,Java,String,我有一个字符串: String fieldName = "A=2,B=3 and C=3,"; 现在我想用空格替换最后一个, 我使用了: if (fieldName.endsWith(",")) { fieldName.replace(",", " "); fieldName = fieldName.replace((char) (fieldName.length() - 1), 'r'); } System.out.println("fieldName = " + fiel
String fieldName = "A=2,B=3 and C=3,";
现在我想用空格替换最后一个,
我使用了:
if (fieldName.endsWith(",")) {
fieldName.replace(",", " ");
fieldName = fieldName.replace((char) (fieldName.length() - 1), 'r');
}
System.out.println("fieldName = " + fieldName);
但我还是得到了同样的旧弦。我怎样才能得到这个输出呢
fieldName = A=2,B=3 and C=3
我想用空格替换最后一个“,”
如果要删除尾随逗号,只需去掉
+“”
字符串。首先,字符串在java中是不可变的,必须将替换结果分配给变量
fieldName = fieldName.replace("watever","");
您还可以使用regex作为选项,使用String#replaceAll(regex,str)
要获得所需结果,您可以执行以下操作:
fieldName = fieldName.trim();
fieldName = fieldName.substring(0,fieldName.length() - 1);
您只需使用
子字符串
:
if(fieldName.endsWith(","))
{
fieldName = fieldName.substring(0,fieldName.length() - 1);
}
确保在执行
substring
as后重新分配字段,将代码修改为fieldName=fieldName。替换(“,”,”) 您可以使用正则表达式来标识最后一个逗号(,),并将其替换为“”,如下所示:
if(fieldName.endsWith(","))
{
fieldName = fieldName.replace(/,([^,]*)$/," ");
}
试试这个:
s = s.replaceAll("[,]$", "");
@Abubakkar Rangara已经回答了解决您问题的简单方法 备选方案是:
String[] result = null;
if(fieldName.endsWith(",")) {
String[] result = fieldName.split(",");
for(int i = 1; i < result.length - 1; i++) {
result[0] = result[0].concat(result[i]);
}
}
String[]结果=null;
如果(fieldName.endsWith(“,”){
String[]result=fieldName.split(“,”);
for(int i=1;i
可以使用StringBuilder替换方法替换最后一个字符
您可以简单地使用:
if(fieldName.endsWith(","))
{
StringUtils.chop(fieldName);
}
来自commons lang,是您的朋友:
if (fieldName.endsWith(",")) {
fieldName = fieldName.substring(0, fieldName.length()-1) + " ";
}
这会将所有出现的“,”替换为“”,但他们只希望最后一个被替换。如果您不能清楚地阅读/理解问题,请不要提供错误的解决方案。尽管答案完全正确,但您的答案是JavaScript。这个主题与Java相关。注意javascript length()中的是@danihp,而c中的是
.length
…但是我希望一种完全不相关的语言会有不同的代码@weston,当然!!让我解释一下我自己。我找到并应用了Abubakkar Rangara关于javascript问题的解决方案。正因为如此,我给其他用户写了评论(我也投票赞成),而不是找到这个答案,寻找一个被剪掉的jscript。在java和javascript上都可以运行,只需稍作改动。最后,大数据博拉特(Big Data Borat)的一句话仅供笑谈:@danihp这是一个很好的例子,我添加到了该网站。也祝贺你!它将工作,但如果字符串中的空值,它将运行时错误,最好检查是否不是空值,然后执行代码!!!我猜这将替换所有“,”@TaritRay它不会,因为正则表达式中的美元符号表示字符串的结尾。因此s=s.replaceAll(“[,]”,“);将删除所有逗号,而panticz.de的示例将只替换字符串末尾的逗号。
String[] result = null;
if(fieldName.endsWith(",")) {
String[] result = fieldName.split(",");
for(int i = 1; i < result.length - 1; i++) {
result[0] = result[0].concat(result[i]);
}
}
StringBuilder builder = new StringBuilder(fieldName);
builder.replace(builder.length()-1, builder.length(), "");
builder.toString();
if(fieldName.endsWith(","))
{
StringUtils.chop(fieldName);
}
if (fieldName.endsWith(",")) {
fieldName = fieldName.substring(0, fieldName.length()-1) + " ";
}
StringUtils.removeEnd(null, *) = null
StringUtils.removeEnd("", *) = ""
StringUtils.removeEnd(*, null) = *
StringUtils.removeEnd("www.domain.com", ".com.") = "www.domain.com"
StringUtils.removeEnd("www.domain.com", ".com") = "www.domain"
StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
StringUtils.removeEnd("abc", "") = "abc"
@Test
public void springStringUtils() {
String url = "https://some.site/path/";
String result = org.springframework.util.StringUtils.trimTrailingCharacter(url, '/');
assertThat(result, equalTo("https://some.site/path"));
}