gpt4 book ai didi

PHP正则表达式从字符串的开头和结尾去除逗号和空格

转载 作者:可可西里 更新时间:2023-10-31 23:19:09 36 4
gpt4 key购买 nike

我有一些这样的字符串

", One "
", One , Two"
"One, Two "
" One,Two, "
" ,Two ,Three "

编辑 2:有些字符串在逗号之间有两个单词,如 ", Two ,Three, Twenty Five, Six"

并且需要删除字符串开头和末尾的空格和/或逗号 只尝试了几个使用preg_replace() 的正则表达式,但它们替换了所有出现的地方。

编辑: 实际上,删除所有杂乱如 会很棒!@#$%^&*( 等等字符串结尾和开头的内容,但不是介于两者之间。




可选地需要通过放置 word 然后 comma 然后 space 然后 another word 使字符串看起来正确(如果有逗号 one在单词之间)。

示例 “One,Two ,Three,Four” 变成 “One, Two, Three, Four”

附言请将答案作为两个单独的正则表达式提供,这样更容易理解。

最佳答案

使用正则表达式 \b\w+\b 提取单词,然后像这样重新格式化:

<?php

$strings = [", One ",
", One , Two",
"One, Two ",
" One,Two, ",
" ,Two ,Three ",
", Two ,Three, Twenty Five, Six"];
foreach($strings as &$str)
{
preg_match_all('/\b[\w\s]+\b/',$str,$matches);
$neat = '';
foreach($matches[0] as $word)
{
$neat .= $word.', ';
}
$neat = rtrim($neat,', ');
$str = $neat;
}
print_r($strings);

?>

输出:

Array
(
[0] => One
[1] => One, Two
[2] => One, Two
[3] => One, Two
[4] => Two, Three
[5] => Two, Three, Twenty Five, Six
)

关于PHP正则表达式从字符串的开头和结尾去除逗号和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31096814/

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