Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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_String - Fatal编程技术网

用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"));
    }