2015-03-23 2 views
-2

Я получаю эту строку из DbНужна помощь по Струнной тделке Java

str = "External - Internal "; 

Я хочу, чтобы удалить последние пробела из строки. Я уже попробовал string.trim() и назначил его другой строке Просьба предложить, так как это просто не работает. ниже мой код для справки.

public static void main(String args[]){ 
     String str = "External - Internal "; 

     String temp = str.trim(); 
     System.out.println("1"+temp); 
     temp=str.replaceAll(" ", ""); 
     System.out.println("2"+temp); 
     temp=str.replace("\\r", ""); 
     System.out.println("3"+temp); 
    } 

С уважением Аби

+2

В чем проблема с 'trim()' it [work] (http://ideone.com/1ADa1p) для меня – silentprogrammer

+0

Trim не работает, скопируйте мой код и попробуйте. – user4703055

ответ

0

Вы можете сделать это просто через string.replaceAll или string.replaceFirst функции.

string.replaceAll("\\s(?=\\S*$)", ""); 

Если вы имеете в виду пространство, которое было в конце, используйте следующее регулярное выражение.

string.replaceAll("\\s$", ""); 

Использование \\s+ вместо \\s, если вы хотите иметь дело с одним или несколькими пробелами.

+0

или 'string.replaceFirst (" \\ s (? = \\ S * $) "," ");' –

+0

Спасибо всем за ваш ответ promt, – user4703055

+0

просто хочу подтвердить replaceAll ("\\ s (? = \ \ S * $) "," "), если он удаляет только пробелы в конце. Пожалуйста, подтвердите – user4703055

0

Вы можете найти ответ на свой вопрос здесь Strip Leading and Trailing Spaces From Java String

Посмотрите на двух верхних ответов. Попробуйте правую отделку как myString.replaceAll ("\ s + $", "");

+0

уже пробовал, не работает в случае моей строки, я подозреваю, что это нормальное пространство, поэтому дается попытка возврата каретки и вкладок, но это тоже не дает ожидаемого результата :( – user4703055

Смежные вопросы