PHP 从字符串中拆分名称和引用号



我想拆分一个字符串。

  • 它包括编号,名称和城市

示例:2E4 766 06 7982 647 5 约瑟夫·桑切斯·祖尼

  • 2E4 766 06 7982 647 5 是参考编号。
  • 约瑟夫·桑切斯的名字
  • 祖尼是城市

分离名称和城市很困难,但我正在尝试将 Ref No 和 Name(NAme City)分开。我形成了一个正则表达式并对其进行了测试:http://www.switchplane.com/awesome/preg-match-regular-expression-tester/?pattern=%22%5Ba-zA-Z%5D%5Ba-z%5Cs.%5D%22&subject=2E4+766+06+7982+647+5+Joesph+J+Sanchez+Zuni

我通过认为名称将始终以大写字母开头,并将后跟一个小字母或空格或点来形成它

但是当我使用

$keywords = preg_split("[a-zA-Z][a-zs.]", $strBreak['cust_ref']);

它不起作用。

请指导。

正则表达式:

'#(?P<ref>.+d) (?P<name>w+ [A-Z ]*w+) (?P<city>.+)#'
  • 首先捕获名称之前以单个数字结尾的任何内容。我不确定这是否正确,因为缺乏参考编号的示例/格式。如果不正确,请删除".+"和"\d"之间的空格。在数组中使用键"ref"存储。
  • 捕获具有 0 个或多个中间名的名称。在数组中使用键"名称"存储。
  • 捕获名称后的任何内容作为城市名称。与数组中的键"城市"一起存储。

试试这个:

$vars = array(
    '2E4 766 06 7982 647 5 Joesph Sanchez Zuni',
    '2E4 766 06 7982 647 5 Joesph J Sanchez Zuni',
    '2E4 766 06 7982 647 5 Joesph J G Sanchez Zuni',
    '2E4 766 06 7982 647 5 Joesph Sanchez Los Angeles',
    '2E4 766 06 7982 647 5 Joesph J Sanchez Los Angeles',
    '2E4 766 06 7982 647 5 Joesph J G Sanchez Los Angeles',
    '2E4 766 06 7982 647 5 Joesph Sanchez St. Morel',
    '2E4 766 06 7982 647 5 Joesph J Sanchez St. Morel',
    '2E4 766 06 7982 647 5 Joesph J G Sanchez St. Morel',
);
$matches = array();
foreach ($vars as $var) {
    if (preg_match('#(?P<ref>.+ d) (?P<name>w+ [A-Z ]*w+) (?P<city>.+)#', $var, $matches)) {
        echo 'Ref: ', $matches['ref'], '. Name: ', $matches['name'], '. City: ', $matches['city'], "n";
    } else {
        echo "No match for $varn";
    }
}

结果:

Ref: 2E4 766 06 7982 647 5. Name: Joesph Sanchez. City: Zuni
Ref: 2E4 766 06 7982 647 5. Name: Joesph J Sanchez. City: Zuni
Ref: 2E4 766 06 7982 647 5. Name: Joesph J G Sanchez. City: Zuni
Ref: 2E4 766 06 7982 647 5. Name: Joesph Sanchez. City: Los Angeles
Ref: 2E4 766 06 7982 647 5. Name: Joesph J Sanchez. City: Los Angeles
Ref: 2E4 766 06 7982 647 5. Name: Joesph J G Sanchez. City: Los Angeles
Ref: 2E4 766 06 7982 647 5. Name: Joesph Sanchez. City: St. Morel
Ref: 2E4 766 06 7982 647 5. Name: Joesph J Sanchez. City: St. Morel
Ref: 2E4 766 06 7982 647 5. Name: Joesph J G Sanchez. City: St. Morel

相关内容

  • 没有找到相关文章

最新更新