2013-05-01 218 views
-2

我可以以某種方式從字符串的末尾刪除n個字符嗎?從字符串末尾刪除n個字符

在例如:

String a = "Hello"; 
a -= 1; 

並將結果a = "Hell"

+2

號爲什麼你會指望減1,從「你好」減去字母o? – geoffspear 2013-05-01 12:57:34

+0

呃...不!甚至沒有其他任何我知道的語言。 – OldCurmudgeon 2013-05-01 12:57:44

+1

使用'substring'方法 – 2013-05-01 12:57:58

回答

1

試試這個:

a = a.substring(0,a.length()-1); 

看到這個String#substring(int beginIndex,int endIndex)要更好地理解:

返回一個新的str這是該字符串的子字符串。子字符串 從指定的beginIndex開始,並擴展到 index endIndex - 1的字符。因此子字符串的長度爲 endIndex-beginIndex。

+0

詳細說明您的答案,讓新手知道您在說什麼 – developer 2013-05-01 13:22:32

+0

@developer編輯我的答案。 – 2013-05-01 13:25:59

+0

1+感謝您更改您的答案。 – developer 2013-05-01 14:29:50

1

號,你可以期待的最好結果是這樣的:

a = a.substring(0, a.length() - 1); 

或者這樣:

a = new StringBuilder(a).deleteCharAt(a.length() - 1).toString(); 

甚至這樣的:

a = a.replaceAll(".$", ""); 
+0

這應該是 \t \t'a = a.substring(0,a.length() - 1);' – 2013-05-01 12:59:38

+0

@鄒鄒OK。我在我的iPhone上輸入這些東西:/ – Bohemian 2013-05-01 13:04:30

1

答案是definetely不是!但是,如果要使用基於整數的索引按整數刪除字符,則可以使用substring。試試這個:

String a = "Hello"; 

a = a.substring(0,a.length()-1); 

System.out.println(a); 
0

不,你不能從一個字符串subract,但是你可以達到你想要什麼樣子:

 String in="hello"; 
     String out=in.substring(0, 4); //takes the characters 0,1,2,3 from in (i.e. h e l l) 

     System.out.println(out); 
2

好了的,而不是給你-1,我可以幫助:) 在Java中,做

String a = "Hello"; 
int stepsBack = 1; 

if (a.length()>=stepsBack) //Avoid StringIndexOutOfBoundsException 
    a=a.substring(0,a.length()-stepsBack); 

System.out.println(a);