如果我有一个语法正确的field_name。我想用空格分开它。
例如,
请注意,大写字母不是字符串中可识别的字符,整个字符串可能很小。
有没有办法做到这一点?
答案 0 :(得分:5)
有没有办法做到这一点?
是。
此外,总有不止一种方法。
其他数千个例子中的一个例子是域名expertsexchange
,可以将其分为experts exchange
或expert sex change
。
我没有为像打印字段名这样的繁琐任务实现这种AI,我建议将它们保留为自动目的,如PHPmyAdmin,或者在代码中创建一个硬编码的替换表。它可以为你节省大量的时间。
有人可能会建议您将命名约定更改为以字符串分隔符的下划线方式,这可以很容易地转换为空格,但我建议不要这样做。数据库表名称'不打算在用户界面中使用。 不要懒惰,手动创建输出字段名称。
答案 1 :(得分:1)
您可以使用/usr/share/dict/words
中的词典(或只是下载单词列表)来完成此操作。
伪代码中的算法将如下所示:
counter = 0
make input lowercase
loop i from 0 to length of input:
if sub string from 0 to i of input is in dictionary:
grammatical_words[counter] = sub string from 0 to i
add one to counter
echo all words from grammatical_words
这样的缺点是任何以a或i开头的字符串基本上都会失败 - 像algorithm
这样的字符串会被分成a
,然后就没有其他匹配项了。这意味着如果您确信不使用某些单词,则需要禁用某些单词。此外,often
或desktop
等复合词不会产生预期的行为。在其根中包含单词的单词,例如“平板电脑”,“手机”,“热门”等也会失败。
通过一些调整,这可能会起作用。如果你知道用什么词来加快速度并避免误报,我会制作一个自定义单词列表,而不是使用系统词典。