2017-07-28 23 views
-3

我有以下字符串,我想刪除字符串末尾的點(。)的動態數字。 (。)從Java中的字符串中刪除n個點(。)

"abc....." 

點可不止一個

+0

你嘗試過什麼嗎? – Batty

+0

你只需刪除。並已用空間 –

+0

String s1 =「abc ....」; \t \t String replaceString = s1.replaceAll(「\\。」,「」); \t \t System.out.println(replaceString); –

回答

0

試試這個。它使用正則表達式用空字符串替換字符串末尾的所有點。

yourString.replaceAll("\\.+$", ""); 
+0

謝謝你兄弟。正是我想要的。 – T8Z

+0

也許需要雙反斜槓? –

+0

它需要''\\。+ $「' – anon

2

能做到這一點,除去所有.

String a = "abc....."; 
String new = a.replaceAll("[.]", ""); 

只刪除後.的:

String new = a.replaceAll("//.+$",""); 

編輯:看到評論。最後刪除n.

int dotsToRemove = 5; // whatever value n 
String new = a.substring(0, s.length()-dotsToRemove); 
+0

我不認爲他們想要刪除所有的點。他們希望得到某種用戶輸入,指示從最後刪除多少個點。 –

+0

字符串「abc ... cba ....」會發生什麼情況。他的問題並不清楚。 – Batty

+0

這不起作用 - replaceAll()使用正則表達式,'。'匹配任何東西,所以你最終得到一個空字符串。 –

0

如何使用此功能?似乎工作比正則表達式更快

public static String trimPoints(String txt) 
    { 
     char[] cs = txt.toCharArray(); 
     int index =0; 
     for(int x =cs.length-1;x>=0;x--) 
     { 
      if(cs[x]=='.') 
       continue; 
      else 
       { 
       index = x+1; 
       break; 
       } 
     } 

     return txt.substring(0,index); 
    }