2014-09-02 76 views
0

我得到我的字符串變量以下值:換行符沒有被替換爲或的replaceAll功能刪除

យោងតាមឯកឧត្តមតាំង សាមឿនលេខាសម្តេចកិត្តិព្រឹទ្ធបណ្ឌិតប៊ុន រ៉ានីហ៊ុនសែនបានប្រាប់ក្រុមអ្នក\r\nសារព័ត៌មានថា៖ក្នុងជំនួបសម្តែងការគួរសមនិងទទួលថវិការ៦រយដុល្លាអាមេរិក និងសម្ភារៈឧបករណ៍\r\nព្រមទាំងបរិក្ខារពេទ្យ មួយចំនួនពីក្រុមយុវជនកម្ពុជាជូនលោកជំទាវ អាន្នីសុខអានអនុប្រធានតំណាង\r\nដ៏ខ្ពង់ខ្ពស់សម្តេចកិត្តិព្រឹទ្ធបណ្ឌិតប៊ុន រ៉ានីហ៊ុន សែនប្រធានកាកបាទក្រហមកម្ពុជានៅទីស្នាក់ការកណ្តាល\r\nកាកបាទក្រហមកម្ពុជាអូរបែកក្អមក្នុងរាជធានីភ្នំពេញនាថ្ងៃទី២ខែកញ្ញាឆ្នាំ២០១៤។\r\n\r\nលោកជំទាវអាន្នីសុខ អានបានកោតសសើរចំពោះក្រុមយុវជនកម្ពុជាដែលបានយកថវិកានិងសម្ភារៈមកជូន\r\nកាកបាទក្រហមកម្ពុជាសកម្មភាពនេះបង្ហាញពីអោយឃើញពីបេះដូងមនុស្សធម៌នៃវប្បធម៌ចែ 

in which i have \r\n with different sequence 
for example: 
\r\n 
\r\n\r\n 
\r\n\r\n\r\n\r\n 

我用下面的所有功能他們沒有工作,任何一個指導我什麼錯誤我是在做什麼?

private List<ContentValues> parseJsonBreakingNews(String json) throws JSONException { 
     List<ContentValues> result = new ArrayList<ContentValues>(); 
     JSONArray allItems = new JSONArray(json); 
     JSONObject item; 

     for (int i = 0; i < allItems.length(); i++) { 
      item = allItems.getJSONObject(i); 
      ContentValues values = new ContentValues(); 

      values.put(TableBreakingNews._ID, item.getInt("id")); 

      String x = item.getString("title_kh"); 
      String y = item.getString("content_kh"); 
      String title = RemoveSpecialCharacters(x); 
      String description = RemoveSpecialCharacters(y); 

      values.put(TableBreakingNews.TITLE_KH, title); 
      values.put(TableBreakingNews.CONTENT_KH,description); 
      values.put(TableBreakingNews.DATE, item.getString("dt")); 
      result.add(values); 
     } 

     return result; 
    } 

    private String RemoveSpecialCharacters(String JunkData) 
    { 
     JunkData = JunkData.replaceAll("\\r", ""); 
     JunkData = JunkData.replaceAll("\\n", ""); 
     //JunkData = JunkData.replaceAll("[\n\r]+", " "); 
     //JunkData = JunkData.replaceAll("[\r\n]+", " "); 
     //JunkData = JunkData.replaceAll("\\r", "2222222222222"); 
     //JunkData = JunkData.replaceAll("\\n", "111111111111"); 
     //JunkData = JunkData.replaceAll("\\r\\n", "0000000000000000"); 

     // String newLine = System.getProperty("line.separator"); 

     //JunkData = JunkData.replace(newLine, ""); 
     //JunkData = JunkData.replace('\n', ''); 

     //JunkData = RemoveLineTerminationCharacters(JunkData); 
     //JunkData = RemoveLineTabs(JunkData); 

     return JunkData; 

    } 

任何幫助,將不勝感激。

+0

你可以嘗試修剪()爲好。或者如果換行符在字符串內部..'\ n'用單引號 – nouseforname 2014-09-02 17:31:41

+0

junkData.trim()也試過它對此字符串不做任何處理。 – UMAR 2014-09-02 17:33:16

+0

ya,trim()只能刪除字符串前後的空格 – nouseforname 2014-09-02 17:35:23

回答

1

我不能看到整個代碼,但我覺得你的問題是從這一參考字符串,看看我的測試:

enter image description here

也許你正在調用你的方法,但不更新你的對象的真實參考。

我不確切地知道你的問題。如果可以的話,請更好地解釋你想要的。

---編輯----

一下你的方法是這樣的:

private String removeSpecialCharacters(String junkData) { 
    junkData = junkData.replaceAll("(\r\n|\n)", ""); 
    return junkData; 
} 
+0

您的答案似乎非常接近我的問題,你可以看看更新後的代碼嗎? – UMAR 2014-09-02 17:52:32

+0

好吧,你是否試圖刪除字符\ r \ n?你的代碼似乎是好的 – 2014-09-02 17:58:36

+0

是的,但是當我調試和檢查時,描述字符串保持不變。:(無需更改 – UMAR 2014-09-02 18:02:11

0

嘗試

replace("\n", ""); 

private static final String newLine = System.getProperty("line.separator"); 

replace(newline, ""); 

類似的東西應該爲你工作

+0

以及然後嘗試雙引號,但只有一個斜槓 – nouseforname 2014-09-02 17:43:36