2012-05-13 3 views
0

У меня есть имя «Джон Б. Смит», мне нужно изменить формат имени на «Смит, Джон Б.» Я думал об использовании регулярного выражения, но я не совсем понял его даже после прочтения. Может кто-нибудь помочь?Изменить отображаемую строку имени от "First M. Last" до "Last, First M."?

Также вы можете подумать, что происходит в выражении?

+2

Шаг # 1 Попробуйте что-нибудь # 2 Наблюдайте за тем, что произошло # 3 Обновите/исправьте и повторите или продолжите –

ответ

1

Вот пример, который я поставил на Rubular.

Регулярное выражение, которое я использовал, - (\w+)\s+(\w+)\s+(\w+). Вот сломать его:

  1. Когда я использую \w+, я говорю, что я ищу регулярное выражение с одной или нескольких букв, цифр или символов подчеркивания. Это обычно используется для поиска слов.
  2. Когда я использую \s+, я ищу один или несколько символов пробела.
  3. () означает, что я хочу захватить (ака помню) часть ввода, с которой соответствует это регулярное выражение.
+0

Это классный сайт – Lambda

1

Regex может быть излишним для синтаксического анализа чего-то простого, например имен, по сравнению с разбором адресов электронной почты или HTTP-адресов, для которых обычно используются регулярные выражения.

Почему бы просто не разбить имя символом пробела, а затем создать новую строку с элементом 3-го массива (Смит) - с введенной запятой - перед первым (Иоанном).

+0

так что-то типа name.split ("\\ s") System.out.println ("nameArray [1] +" , "+ nameArray [0] – Lambda

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