2014-02-16 2 views
2

Я заменяю все котировочные знаки в предложении некоторым словом.Java/Заменить все Котировочные знаки

Вход: hello (and "How" are you"?")

Выход: hello (and WORD are youWORD)

Я стараюсь это Java: mySentence.replaceAll("[\"].*[\"]", "WORD");

Но ничего не происходит. Как я могу это решить?

+2

'Но ничего не происходит '. Вероятно, потому, что вы не назначили переменную замене. '.replaceAll' не изменяет переменную' mySentence', а создает новую, и вы ничего не увидите, если не назначили ее. Можно ли, кстати, иметь экранированные кавычки в вашей входной строке? Как «привет» (и «как» «ты»?)) – Jerry

+0

@ Джерри: Да, ты прав. –

+0

Хорошо. Вы знаете, если вам удалось избежать кавычек? (похоже, вы не видели мое редактирование в комментарии выше) – Jerry

ответ

3

Вы можете использовать:

String replaced = mySentence.replaceAll("\".*?\"", "WORD"); 

Или лучше:

String replaced = mySentence.replaceAll("\"[^\"]*\"", "WORD"); 
//=> hello (and WORD are youWORD) 
0

вы могли easilly сделать это путем преобразования строки в массив символов.

string s= "and "?" how are you "?" " 

char[] arr= s.toCharArray(); 

for(int i=0; i>arr.length; arr++) 
{ 
    if(arr[i].isLetter() == false) 
    { 
    arr[i]= ' '; 
    } 
} 
Смежные вопросы