我正在制作一个音节计数器,用以下参数连接单词
实施例。
Resoluo nio = re-so-lu-tion
Ver sat ile = Ver-sa-til
Ped ago gy = Pe-da-go-gy
Tra nsu bst ant iat ion = tran-sub-stan-ti-atio
Ame ric an = Ame-ri-can
Rudimentary = ru-di-men-ta-ry
Hig hli ght = high-light
我使用PHP对其进行编码,到目前为止,我能够打破这个词:
<?php
$string = 'University';
preg_replace('/tion|[aeiou]/', "-$0", $string);
?>
输出: UN-IV-ERS-两者均
现在需要做的是阅读例外情况。 规则放入后的输出。
如何更改PHP表达式以满足所需规则? java脚本可能是更好的语言吗?
答案 0 :(得分:1)
由于将一个单词分成音节并不能表达为“规则”,因此正则表达式不是一个好的工具(语言并不重要)。有太多例外!唯一合理的做法是创建一个解析器。
那就是说,对于你上面发布的例子,你可以这样做:
preg_replace('/tion|Uni|ver|si|ty|[aeiou]/', "-$0", $string);