重构:简单正则表达式


Refactoring: Simple regex

l假设我有以下内容:$string = 'New+York-NY+我想要一个's-在哪里,我想要', '。格式化的字符串将显示为 New York, NY

这是我的代码: $string = '纽约+纽约';

    $formattedLocation = preg_replace('/[+]/', ' ', $location);
    $formattedLocation = preg_replace('/-/', ', ', $formattedLocation);
    echo $formattedLocation;

此代码有效。但是它很丑陋,我想重构它(如果可能的话)。我试过了:

    $formattedLocation = preg_replace('/[+]/', ' ', $location) && preg_replace('/-/', ', ', $location);

然而,这行不通,而且仍然很丑陋。我应该使用其他功能吗?还是我的正则表达式应该不同?请不要建议将其包装在自定义函数中(这不是我正在寻找的答案)。

谢谢

对于这么简单的事情,你真的需要使用正则表达式吗?尝试使用str_replace

$formattedLocation = str_replace(array('+', '-'), array(' ', ', '), $location);