[英]Trim or replace all commas and spaces from the String
嗨,我正在開發Android應用程序。現在我陷入了一個問題。 讓我舉個例子來了解我的問題。
我所擁有的是:kushal,mayurv,narendra,dhrumil,mark ,,,,,,
我想要的是:kushal,mayurv,narendra,dhrumil,mark
任何幫助表示贊賞。
嘗試使用以下代碼修剪所有不需要的逗號和空格
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);
使用正則表達式來解決它。 您想要刪除空格或其他(,)后面的所有(,)。 您還想刪除所有未跟隨字母的(,)。
yourstring = yourstring.replaceAll("( ,)|(,,)", "");
這樣的事情,對不起,我無法幫助你。
在嘗試自己完成之后,這看起來很漂亮。 假設您正在嘗試為名為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(",", ", ");
yourString=yourString.replaceAll("^\\W+|\\W+$","");
通常,正則表達式replaceAll()是要走的路。 但是,在你的情況下,你最終想要一個單獨的字符串數組嗎? 例如相當於
new String[] { "kushal", "mayurv", "narendra", "dhrumil", "mark" } ?
如果是這樣,你可以做到
String[] split = yourString.split(",");
但是仔細地仔細分開並尋找空的弦樂。
...
我看到Sunil打敗了我 - 看看答案。
由於您似乎正在嘗試刪除字符串末尾的逗號和空格,這可能就是您要查找的內容,此模式非常有用[, ]+$
Pattern p = Pattern.compile("[, ]+$");
Matcher m = p.matcher("kushal,mayurv,narendra,dhrumil,mark, ,,,, ,");
String clean = m.replaceFirst("");
你可以在這里看到這個樣本
編輯
如果你想要一個帶有單獨條目的數組string.split
是要走的路(參見user949300 answer )
你可以試試這不是一個合適的選擇,但會適用於你的情況
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 ,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.