如何将所有单词改为大写但不包括罗马数字?

马可·马尔萨拉(Marco Marsala)

我正在尝试修复一些手动输入的地址。我需要ucwords在整个地址上提出申请,但我想保留所有罗马数字为大写字母,并保留门牌号后的字母。

VIA PIPPO III 74A

应该变成:

Via Pippo III 74A

我该如何实现?

马可·马尔萨拉(Marco Marsala)

通过以下命令选择性地将字符串的大写部分mb_eregi_replace()

$str = mb_eregi_replace('\b([0-9]{1,4}[a-z]{1,2})\b', "strtoupper('\\1')", $str, 'e');

完整示例,如何固定手动输入的地址,将单词的第一个字母大写,并保留大写罗马数字以及门牌号后的字母A,B,C:

function ucAddress($str) {

    // first lowercase all and use the default ucwords
    $str = ucwords(strtolower($str));

    // let's fix the default ucwords...
    // uppercase letters after house number (was lowercased by the strtolower above)
    $str = mb_eregi_replace('\b([0-9]{1,4}[a-z]{1,2})\b', "strtoupper('\\1')", $str, 'e');

    // the same for roman numerals
    $str = mb_eregi_replace('\bM{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})\b', "strtoupper('\\0')", $str, 'e');

    return $str;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将整数转换为单词和罗马数字

来自分类Dev

如何将正则表达式用于从 1 到 100 的罗马数字?

来自分类Dev

将数字转换为罗马数字

来自分类Dev

将数字转换为罗马数字

来自分类Dev

具有罗马数字的ucword()函数

来自分类Dev

R仅在字符串中大写罗马数字

来自分类Dev

Excel-保持罗马数字大写的文本转换

来自分类Dev

MYSQL在字段中搜索特定的单词或数字,但不包括包含这些单词或数字的单词或数字

来自分类Dev

如何将向量中的所有字符串更改为大写?

来自分类Dev

如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

来自分类Dev

如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

来自分类Dev

终端中的所有小写字母(但不包括大写字母)可能破了什么?

来自分类Dev

自动将所有工作表中的所有文本更改为大写,但不更改整个Google电子表格中的数字

来自分类Dev

如何将SublimeText设置为自动匹配的括号,但不包括引号或括号?

来自分类Dev

如何将SublimeText设置为自动匹配的括号,但不包括引号或括号?

来自分类Dev

如何将目录的所有内容(不包括父目录)移动到另一个目录 Groovy

来自分类Dev

如何在字符串中找到罗马数字并在 C# 中使其全部大写?

来自分类Dev

以有效的方式将罗马数字转换为整数

来自分类Dev

将罗马数字转换为R中的数字

来自分类Dev

将罗马数字转换为R中的数字

来自分类Dev

将罗马数字转换为数字逻辑错误Java

来自分类Dev

使用开关盒将数字转换为罗马数字

来自分类Dev

如何使用Scapy的XPath选择所有子文本,但不包括标签?

来自分类Dev

如何使用函数将句子中的所有单词大写?

来自分类Dev

选择:之后的“”(含)内的所有文本,但不包括

来自分类Dev

将罗马数字转换为整数值?

来自分类Dev

将整数转换为罗马数字的基本程序?

来自分类Dev

将罗马数字转换为整数值?

来自分类Dev

使用 xslt 将罗马数字转换为整数值

Related 相关文章

  1. 1

    将整数转换为单词和罗马数字

  2. 2

    如何将正则表达式用于从 1 到 100 的罗马数字?

  3. 3

    将数字转换为罗马数字

  4. 4

    将数字转换为罗马数字

  5. 5

    具有罗马数字的ucword()函数

  6. 6

    R仅在字符串中大写罗马数字

  7. 7

    Excel-保持罗马数字大写的文本转换

  8. 8

    MYSQL在字段中搜索特定的单词或数字,但不包括包含这些单词或数字的单词或数字

  9. 9

    如何将向量中的所有字符串更改为大写?

  10. 10

    如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

  11. 11

    如何将jTextPane中所有突出显示的单词更改为jTextField中给定的单词?

  12. 12

    终端中的所有小写字母(但不包括大写字母)可能破了什么?

  13. 13

    自动将所有工作表中的所有文本更改为大写,但不更改整个Google电子表格中的数字

  14. 14

    如何将SublimeText设置为自动匹配的括号,但不包括引号或括号?

  15. 15

    如何将SublimeText设置为自动匹配的括号,但不包括引号或括号?

  16. 16

    如何将目录的所有内容(不包括父目录)移动到另一个目录 Groovy

  17. 17

    如何在字符串中找到罗马数字并在 C# 中使其全部大写?

  18. 18

    以有效的方式将罗马数字转换为整数

  19. 19

    将罗马数字转换为R中的数字

  20. 20

    将罗马数字转换为R中的数字

  21. 21

    将罗马数字转换为数字逻辑错误Java

  22. 22

    使用开关盒将数字转换为罗马数字

  23. 23

    如何使用Scapy的XPath选择所有子文本,但不包括标签?

  24. 24

    如何使用函数将句子中的所有单词大写?

  25. 25

    选择:之后的“”(含)内的所有文本,但不包括

  26. 26

    将罗马数字转换为整数值?

  27. 27

    将整数转换为罗马数字的基本程序?

  28. 28

    将罗马数字转换为整数值?

  29. 29

    使用 xslt 将罗马数字转换为整数值

热门标签

归档