2013-04-26 3 views
1

Независимо от того, что я, кажется, попробовать, заменив белое пространство с входомJava Заменить пробелы

2x= -3 

приведет к строке усекается до всего 2x =.

public void parseEquation(String x){ 
    String adf = x; 
    String z = adf.replaceAll("\\s",""); 
    System.out.println(z); 
} 

Первая строка мой вход, следующая строка моего выхода

fail

+2

Использовать 'StringBuilder' для таких строковых операций – noMAD

+0

String adf = x; здесь избыточен как replaceAll создает новую строку – danieln

ответ

7

Оказывается, у меня есть серьезные проблемы с психикой.

я использовал

новый Scanner.next();

против

новый Scanner.nextLine();

+1

«* умственные проблемы *»? – Lion

+2

** суровые ** умственные проблемы – jsedano

+2

+1 для чувства юмора :) – Pshemo

1

Если вы используете другие библиотеки, выберите StringUtils.deleteWhitespace. Его хорошо известная библиотека, хорошо протестированная и используемая в большом количестве проектов, поэтому, вероятно, лучше и быстрее, чем вы могли бы сделать самостоятельно.

Он также заботится о вкладках и других непечатаемых материалах. Я не уверен, делает ли это регулярное выражение \s.

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