gpt4 book ai didi

php preg_split 忽略特定字符串中的逗号

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:37:44 25 4
gpt4 key购买 nike

我需要一些帮助。我想要的是忽略特定字符串中的逗号。这是一个逗号分隔的文件 csv,但名称有一个逗号,我需要忽略它。

我得到的是

<?php
$pattern = '/([\\W,\\s]+Inc.])|[,]/';
$subject = 'hypertext language, programming, Amazon, Inc., 100';
$limit = -1;
$flags = PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE;
$result = preg_split ($pattern, $subject, $limit, $flags);
?>

结果是

$result (php code):

<?php
array (
0 => 'hypertext language',
1 => ' programming',
2 => ' Amazon',
3 => ' Inc.',
4 => ' 100',
);
?>

我想要的结果是

$result (php code):

<?php
array (
0 => 'hypertext language',
1 => ' programming',
2 => ' Amazon, Inc.',
3 => ' 100',
);
?>

感谢您的帮助:)

最佳答案

请注意 [\W,\s] = \W 因为 \W 匹配任何不是字母、数字或下划线。但是,您似乎只想拆分 , 后跟空格*+Inc.

您可以使用 negative lookahead实现这一目标:

/,(?!\s*Inc\.)/
^^^^^^^^^^^^

参见 regex demo

(?!\s*Inc\.) 如果有 0+ 个空格 (\s* ) 后跟一系列文字字符 Inc.

关于php preg_split 忽略特定字符串中的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40397367/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com