您好我正在开发Android应用程序。现在我遇到了一个问题。让我举个例子来了解我的问题。
我拥有的是:kushal,mayurv,narendra,dhrumil,mark ,,,,,,
我想要的是:kushal,mayurv,narendra,dhrumil,mark
感谢任何帮助。
答案 0 :(得分:5)
尝试使用以下代码修剪所有不需要的逗号和空格
String str = "kushal,mayurv,narendra,dhrumil,mark, ,,,, ";
String splitted[] = str.split(",");
StringBuffer sb = new StringBuffer();
String retrieveData = "";
for(int i =0; i<splitted.length; i++){
retrieveData = splitted[i];
if((retrieveData.trim()).length()>0){
if(i!=0){
sb.append(",");
}
sb.append(retrieveData);
}
}
str = sb.toString();
System.out.println(str);
答案 1 :(得分:4)
使用正则表达式来解决它。您想要删除空格或其他(,)后面的所有(,)。您还想删除所有未跟随字母的(,)。
yourstring = yourstring.replaceAll("( ,)|(,,)", "");
这样的事情,抱歉我无法帮助你。
答案 2 :(得分:3)
在尝试自己完成之后,这似乎工作得很漂亮。假设您正在尝试为名为myString的字符串执行此操作:
// replace all consecutive spaces and commas by a space and a comma respectively
String sanitizedString = myString.replaceAll("\\s+", " ").replaceAll(",+", ",");
// replace all resulting comma and space combinations
sanitizedString = sanitizedString.replaceAll("( , )+|( ,)+|(, )+", ",").replaceAll(",+", ",");
// remove leading and trailing commas (if any)
sanitizedString = sanitizedString.replaceFirst("^,", "").replaceFirst(",$", "");
// add a space between comma (merely for readability) **** optional ****
sanitizedString = sanitizedString.replace(",", ", ");
答案 3 :(得分:1)
通常,正则表达式replaceAll()是要走的路。但是,在你的情况下,你最终想要一个单独的字符串数组吗?例如相当于
new String[] { "kushal", "mayurv", "narendra", "dhrumil", "mark" } ?
如果是这样,你可以
String[] split = yourString.split(",");
然后非常仔细地进行拆分并寻找空的弦乐。
...
我看到Sunil打败了我 - 看看答案。
答案 4 :(得分:1)
由于您似乎正在尝试删除字符串末尾的逗号和空格,这可能就是您要查找的内容,因此此模式非常有用[, ]+$
Pattern p = Pattern.compile("[, ]+$");
Matcher m = p.matcher("kushal,mayurv,narendra,dhrumil,mark, ,,,, ,");
String clean = m.replaceFirst("");
您可以看到此示例正在运行here
修改强>
如果你想要一个包含单个条目的数组string.split
,那么就可以了(参见user949300 answer)
答案 5 :(得分:1)
你可以试试这个不是一个合适的解决方案,但会适合你的情况
String str = "kushal,mayurv,narendra,dhrumil,mark, ,,,, ,";
String new_str = str.replaceAll(","," "); //replace , with space
String temp = new_str.trim(); //remove trailing space
System.out.println(temp.replaceAll(" ",",")); // now replacing space with ,
答案 6 :(得分:1)
yourString=yourString.replaceAll("^\\W+|\\W+$","");