【发布时间】:2014-09-09 07:23:13
【问题描述】:
例如: “如何连接串行 ATA 硬盘 HP 3D 驱动器”
我想用 ruby 中的正则表达式将“ATA”替换为“Ata”,但不包括“3D”。主要是英文单词。
另一个例子: "CD/DVD STORAGE WALLET-80 PCS Nylon" => "CD/DVD Storage Wallet-80 Pcs Nylon"
D-Link DGS-1005G 6 端口正确资源 => D-Link Dgs-1005G 6 端口正确资源
HP85 C9429A OEM PUT RETURN BETWEEN => HP85 C9429A OEM Put Returns between
FOREXAMPLE INDENT76 469-FUNCTIONS,10x2 链接 => 例如 Indent76 469-Functions,10x2 链接
谢谢!
【问题讨论】:
-
这不是双向转换。您可以将所有内容都大写,但很难反转它。我想没有算法可以可靠地做到这一点。边缘情况太多。
-
如何区分包含数字的事物?其中哪个要小写?例如,您要小写
INDENT76和6PORT,但不是1005G或HP85或C9429A- 为什么? -
我觉得是个牌子——常用的缩写,所以不会小写,反正我会加个使用编程语言的列表略过。具有 3 个及以上字符的数字将是小写的。我想我需要一个正则表达式来检查 2 个或以上的单词是大写单词,我将使用编程语言大写。
标签: ruby regex match uppercase