2016-08-19 3 views
-10

Я хочу дать слово или индекс каждому слову в строке (строка будет взята из файла txt, может содержать специальные символы или числовые значения). Теперь, что я хочу сделать, скажем, есть строка «Привет, как дела?» то выход должен быть равен: hello: 1 how: 2 are: 3 Вы: 4 Я пытаюсь отделить слова от пробелов, как в приведенном выше случае (это также номера индексов).Индексирование каждого слова в строке

+3

У вас нет вопросов. Мы также не будем писать код для вас – Li357

ответ

2

Вы можете просто разделить текст на пространстве, удаляя знаки препинания по пути, а затем перебирать массив и печать индексов:

String line = "hello, how are you?"; 
String[] words = line.replaceAll("[^a-zA-Z ]", "").split("\\s+"); 

for (int i=0; i < words.length; ++i) { 
    System.out.print(words[i] + ":" + i + " "); 
} 

Пояснение:

  • replaceAll("[^a-zA-Z ]", "") спички любого символ, который не является строчной или заглавной буквой и удаляет его
  • split("\\s+") разделяет предложение, используя еще один пробел cha racters как точка для раскола
+1

Что это за заявление? 'line.replaceAll ("[^ a-zA-Z]", "") .split ("\\ s +");' –

+1

@Mridul Gupta: Вы читали javadoc? –

+0

нет, у меня нет –

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