如何将带连字符的数字字符串格式化为英镑货币格式?
解决连字符分隔数字的英镑格式化问题
你需要将格式为"数字 - 数字"的字符串,给每个数字前添加英镑符号£,最终得到£1000 - £2000的结果,以下是两种实用方法:
方法一:拆分字符串后分别格式化
这种方法适合明确只有两个数字且分隔符固定为" - "的场景:
$string = "1000 - 2000"; // 按固定分隔符拆分字符串为两个数字 list($num1, $num2) = explode(" - ", $string); // 分别格式化后拼接成目标字符串 $formattedString = sprintf("£%u - £%u", $num1, $num2); echo $formattedString; // 输出:£1000 - £2000
方法二:正则表达式批量替换
如果需要处理更通用的场景(比如字符串中有多个数字、分隔符不固定等),可以用正则匹配所有连续数字并替换:
$string = "1000 - 2000"; // 匹配所有连续数字,替换为"£+数字"的格式 $formattedString = preg_replace('/(\d+)/', '£$1', $string); echo $formattedString; // 输出:£1000 - £2000
内容的提问来源于stack exchange,提问作者caffeinehigh
相关产品推荐
相关产品推荐

