쉼표로 구분 된 이름/성 문자열을 가져 와서 순서를 변경하려면 어떻게해야합니까?문자열의 순서를 어떻게 쉽게 바꿀 수 있습니까? 문자열 함수가 필요합니다
성, 이름
은 (쉼표없이)
FIRSTNAME의 LASTNAME
감사로 변경해야합니다. 이 같은
쉼표로 구분 된 이름/성 문자열을 가져 와서 순서를 변경하려면 어떻게해야합니까?문자열의 순서를 어떻게 쉽게 바꿀 수 있습니까? 문자열 함수가 필요합니다
성, 이름
은 (쉼표없이)
FIRSTNAME의 LASTNAME
감사로 변경해야합니다. 이 같은
이 그것을해야한다. 당신이 원하는 경우
$string = 'last,first';
list($last,$first) = explode(",", $string);
echo $first . ' ' . $last;
뭔가 작동합니다 :
string[] names = LastNameFirstName.Split(',');
string FirstNameLastName = names[1] + " " + names[0];
아아 ... PHP를! C#을 게시했습니다 ...
사람들은 실제로 사람들이 자신의 태그를보기 위해 의존하는 것이 아니라 어떤 언어에 대해 묻고 있는지 말합니다. –
괜찮습니다. 논리를 따라갈 수는 있습니다. 나는 PHP가 똑같은 기능을하는 분할 함수를 가지고 있다고 생각한다. 올바른 방향으로 시작하는 것입니다. 감사합니다! –
그것이 깔끔한 한 줄에 끝내야에게 당신이 할 수 있습니다 :
<?php
$name = "Smith, Dave";
echo implode(' ', array_reverse(explode(',', $name)));
1 줄을 절약하기 위해 수식에 불필요한 오버 헤드가 추가됩니다. 이 방법은 그것이 무엇을하는지 알아 내지 못하는 사람에게는 더 어렵습니다. 이것에 대한 이점은 무엇입니까? –
질문은 "가능한 가장 빠른 방법으로 X를 어떻게 수행합니까?"또는 "가능한 가장 작은 메모리 공간으로 X를 수행하는 방법"이 아닙니다. 따라서 솔루션을 제공했습니다. – hobodave
hobodave 나는 기분을 상하게하려는 것이 아니 었습니다. 왜 한 줄의 효율성과 가독성을 희생시키려는 이유인지 이해하지 못했습니다. 무례하게 오게해서 미안해. –
$string = 'last , first';
list($last,$first) = preg_split("/\s+,\s+/",$string);
$s = preg_split("/[, ]/",$string);
print implode(" ", array($s[0], end($s)));
print implode(" ", array($last,$first));
print preg_replace("/(\w+)\s+,\s+(\w+)/","$2 $1", $string);
두 번째 쉼표가있는 경우에 대비하여'explode (",", $ string, 2)를 사용해야합니다. –