Разделение имени человека на имя и фамилию - PullRequest
22 голосов
/ 03 ноября 2008

хорошо, поэтому в основном я задаю вопрос об их имени Я хочу, чтобы это был один ввод, а не имя и фамилия.

Теперь есть ли способ разделить это имя? и взять только последнее слово из «предложения», например

name = "Thomas Winter"
print name.split() 

и что бы выводить это просто "зима"

Ответы [ 15 ]

1 голос
/ 11 сентября 2010

Это определенно более сложная задача, чем кажется на поверхности. Я написал некоторые проблемы, а также мой алгоритм для их решения в своем блоге. Обязательно ознакомьтесь с моим проектом Google Code, если вам нужна последняя версия на PHP:

http://www.onlineaspect.com/2009/08/17/splitting-names/

0 голосов
/ 15 мая 2019
name = "Thomas Winter"
first, last = name.split()
print("First = {first}".format(first=first))
#First = Thomas
print("Last = {last}".format(last=" ".join(last)))
#Last = Winter
0 голосов
/ 03 ноября 2008

Я бы указал стандартный формат (некоторые формы используют их), например: «Пожалуйста, напишите свое имя в Имя, Фамилия Форма».

Это облегчает вам задачу, поскольку имена обычно не содержат запятую. Он также проверяет, что ваши пользователи действительно вводят как имя, так и фамилию.

0 голосов
/ 03 ноября 2008

Вот как это сделать в SQL . Но нормализация данных с такими вещами - действительно медведь. Я согласен с Дейвом Дюплантисом в вопросе об отдельных входах.

0 голосов
/ 03 ноября 2008

вы, вероятно, захотите использовать rsplit для этого:

rsplit ([sep [, maxsplit]])

Возвращает список слов в строке, используя sep в качестве строки-разделителя. Если задан maxsplit, то делаются не более maxsplit, самые правые. Если sep не указан или отсутствует, любая строка пробела является разделителем. За исключением разделения справа, rsplit () ведет себя как split (), что подробно описано ниже. Новое в версии 2.4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...