2013-05-01 27 views
-2

Можно ли как-то удалить n символы с конца строки?Удалить n символов с конца строки

В примере:

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

С результатом является a = "Hell"?

+2

No. Почему вы ожидаете вычитанием 1 из "Привет" вычитать букву о? – geoffspear

+0

Er ... Нет! Даже на любом другом языке, о котором я знаю. – OldCurmudgeon

+1

Использовать метод подстроки –

ответ

1

Попробуйте это:

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

Смотрите эту String#substring(int beginIndex,int endIndex) лучше понять:

Возвращает новую строку который является подстрокой этой строки. Подстрока начинается с указанного beginIndex и продолжается до символа в index endIndex - 1. Таким образом, длина подстроки равна endIndex-beginIndex.

+0

Разработайте свой ответ, так что новые люди могут понять, что вы говорите. – developer

+0

@developer Отредактировал мой ответ. –

+0

1+ спасибо за изменение вашего ответа. – developer

1

No. Лучшее, что вы можете надеяться на что-то вроде:

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);' –

+0

@ZouZou ОК. Я набираю этот материал на своем iPhone:/ – Bohemian

1

Ответ определенно нет! Но вы можете использовать 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

Ok, вместо того чтобы дать вам -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); 
Смежные вопросы