php - 以逗号字符拆分字符串,但如果所述字符嵌套在括号内,则忽略
问题描述
我目前是一名 php 开发人员,现在分配了一些旧的 php 遗留代码,这些代码旨在在将某些汽车详细信息添加到数据库之前对其进行过滤。我目前坚持的是我应该如何跳过括号内的模型
例子:
"v70, 790, v50 (v40, v44), v22"
预期输出:
[ "v70", "790", "v50 (v40, v44)", "v22" ]
这样,
括号的内部就被拆分忽略了。非常感谢任何帮助和指示!
解决方案
您可以preg_split()
为此使用方法(文档)。您可以使用它根据逗号分隔值的正则表达式模式拆分字符串,但如果这些值在括号之间,则忽略。
此代码适用于您的示例:
<?php
$string = 'v70, 790, v50 (v40, v44), v22';
$pattern = '/,(?![^(]*\)) /';
$splitString = preg_split($pattern, $string);
输出$splitString
看起来像:
array (size=4)
0 => string 'v70' (length=3)
1 => string '790' (length=3)
2 => string 'v50 (v40, v44)' (length=14)
3 => string 'v22' (length=3)
推荐阅读
- javascript - 如何使用 TestCafe 实现 window.onerror?
- angular - 分享 ng 模板
- excel - 从 Excel VB 中的文本框值创建一个具有文件夹名称的新文件夹
- c# - Selenium C# - 设置配置文件路径
- python - 多 FASTA 文件序列的成对比对
- php - 替换字符串中的多个文本
- javascript - 如何在node js中逐个下载文件?
- bash - 在新的终端窗口中找不到“导出”命令
- asp.net - 如何在引导 4 卡上添加边框
- angular - Angular 8 项目在 Microsoft Edge 和 IE11 中不起作用