gpt4 book ai didi

php - 如何在 php 中将 19a smith STREET 更改为 19A Smith Street

转载 作者:可可西里 更新时间:2023-11-01 12:36:12 26 4
gpt4 key购买 nike

我想将街道地址转换为类似 Title Case 的格式。它不完全是标题大小写,因为一串数字末尾的字母应该是大写的。例如 19A 史密斯街。

我知道我可以使用

将“19 smith STREET”更改为“19 Smith Street”
$str = ucwords(strtolower($str))

但这会将“19a smith STREET”转换为“19a Smith Street”。

如何将其转换为“19A Smith Street”?

最佳答案

另一种方法,更长但可以更容易地针对其他不可预见的场景进行调整,因为这是一种非常自定义的行为。

$string = "19a smith STREET";

// normalize everything to lower case
$string = strtolower($string);

// all words with upper case
$string = ucwords($string);

// replace any letter right after a number with its uppercase version
$string = preg_replace_callback('/([0-9])([a-z])/', function($matches){
return $matches[1] . strtoupper($matches[2]);
}, $string);

echo $string;
// echoes 19A Smith Street

// 19-45n carlsBERG aVenue -> 19-45N Carlsberg Avenue

关于php - 如何在 php 中将 19a smith STREET 更改为 19A Smith Street,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31258876/

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