从逗号分隔的字符串中移除末尾逗号

66

我从数据库中获取了一个带有多个逗号(,)的字符串。我想要删除最后一个逗号,但我找不到一个简单的方法来实现它。

现在的样子:kushalhs, mayurvm, narendrabz,

想要得到的结果:kushalhs, mayurvm, narendrabz


1
阅读java.lang.String的javadoc。它包含了你所需的所有方法。http://download.oracle.com/javase/6/docs/api/ - JB Nizet
17个回答

1
    String str = "kushalhs , mayurvm , narendrabz ,";
    System.out.println(str.replaceAll(",([^,]*)$", "$1"));

0

我正在分享我的项目代码,使用正则表达式可以做到这一点...

String ChildBelowList = "";

    if (!Childbelow.isEmpty()) {
        for (int iCB = 0; iCB < Childbelow.size(); iCB++) {

            ChildBelowList = ChildBelowList += Childbelow.get(iCB) + ",";



        }
        ChildBelowList = ChildBelowList.replaceAll("(^(\\s*?\\,+)+\\s?)|(^\\s+)|(\\s+$)|((\\s*?\\,+)+\\s?$)", "");

        tv_childbelow.setText(ChildBelowList);

    } else {
        ll_childbelow.setVisibility(View.GONE);
    }

0

你可以使用“Java 8”来做类似的事情。

private static void appendNamesWithComma() {
    List<String> namesList = Arrays.asList("test1", "tester2", "testers3", "t4");
    System.out.println(namesList.stream()
                                .collect(Collectors.joining(", ")));

}

这个例子对我有效。 - Farooque

0
public static String removeExtraCommas(String entry) {
    if(entry==null)
        return null;

    String ret="";
    entry=entry.replaceAll("\\s","");
    String arr[]=entry.split(",");
    boolean start=true;
    for(String str:arr) {
        if(!"".equalsIgnoreCase(str)) {
            if(start) {
                ret=str;
                start=false;
            }
            else {
            ret=ret+","+str;
            }
        }
    }               
    return ret;

}

0

你可以试试这个,对我来说有效:

if (names.endsWith(",")) {
    names = names.substring(0, names.length() - 1);
}

或者你也可以试试这个:

string = string.replaceAll(", $", "");

-1

或者类似这样:

private static String myRemComa(String input) { 
        String[] exploded = input.split(",");
        input="";
        boolean start = true;
        for(String str : exploded) {

         str=str.trim();
         if (str.length()>0) {
             if (start) {
                 input = str;
                    start = false;
                } else {
                    input = input + "," + str;
                }
         }
        }

        return input;
    }

-1
package com.app;

public class SiftNumberAndEvenNumber {

    public static void main(String[] args) {

        int arr[] = {1,2,3,4,5};
        int arr1[] = new int[arr.length];
        int shiftAmount=3;
        
        for(int i = 0; i < arr.length; i++){
            int newLocation = (i + (arr.length - shiftAmount)) % arr.length;
            arr1[newLocation] = arr[i];
            
        }
        for(int i=0;i<arr1.length;i++) {
            if(i==arr1.length-1) {
                System.out.print(arr1[i]);
            }else {
                System.out.print(arr1[i]+",");
            }
        }
        System.out.println();
        for(int i=0;i<arr1.length;i++) {
            if(arr1[i]%2==0) {
                System.out.print(arr1[i]+" ");
            }
        }
    }
}

这是用于根据整数数组“int arr[] = {1,2,3,4,5}”中的索引筛选数字的。 - Venkat
从输出的末尾删除逗号(,)。 - Venkat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接