: This article mainly introduces how PHP separates consecutive Chinese pinyin characters. For more information about PHP tutorials, see. Problem description:
Example: woshidewenfensi => wo shi de wen fen si
Woshidewenfensi may have been separated during input. for example, woshi dewen fensi or woshi de wen fensi should eventually be converted to wo shi de wen fen si. All special characters and punctuation marks are replaced with separators (spaces ).
Solution:
Use python to write a script pinyin. py. in this case, you only need to use the command line script path + parameter to return the result.
#! /Usr/bin/env python import sys # vim: encoding = utf-8import sysfrom pprint import pprintpy = set ([u 'gu', u 'qiao', u 'Qian ', u 'GE ', u 'giang', u 'ga ', u 'liany', u 'liao', u 'rou', u 'zong', u 'tu ', u 'seng', u 'ti', u 'Te', u 'ta ', u 'Nong', u 'Zhang ', u 'fan', u 'tuany ', u'gua', u'die ', u'gu', u'guo', u'gun', u'shanghai', u'diu', u'tei ', u'zi', u'z', u'za', u 'Chen', u 'Zu', u 'ruo', u 'Dian', u 'diao ', u'nei', u'suo', u'sun', u'zhao', u'sui', u'kuo', u'kun', u'kui ', u 'Zhai', u 'zuany', u 'kua', u 'Bo', u 'ning', u 'Lei', u 'neng', u 'men ', u 'Mei ', u 'geng', u 'Chang', u 'shua', u 'Cha ', u 'Che', u 'fen', u 'Chi ', u 'fei', u 'chu', u 'shui ', u 'me', u 'M', u 'M', u 'Mi', u 'Mu ', u 'dei', u 'Cai ', u 'zhan', u 'Cao ', u 'can', u 'den ', u 'Wang', u 'beng ', u 'zhuang ', u 'Tan', u 'Tai', u 'eng ', u 'song', u 'ping', u 'hou ', u'cua', u' \ u0148g', u 'Lan ', u 'Lao', u 'Fu', u 'FA', u 'jiong ', u 'Mai', u 'Xiang ', u 'Mao', u 'Fo ', u 'A', u 'Jiang', u 'kuang ', u 'bin ', u'su ', u'si', u'sa', u'se ', u'zany', u'm \ u0300', u'xuany ', u 'Zei', u 'zn', u 'Kong ', u 'pang', u 'le', u 'ja', u 'Jin', u 'Lo ', u 'lai ', u 'Lil', u 'Peng', u 'Lu', u 'Yi', u 'Yo', u 'ya ', u 'cen ', u 'dan ', u 'Dao', u 'Ye ', u 'Din', u 'cei', u 'Zhen ', u 'Jiu', u 'bang ', u 'nou', u 'Yu ', u 'weng', u 'Wong', u 'en', u 'Ei ', u 'kang', u 'Dia ', u 'ER ', u 'Ru', u 'keng', u 're', u 'ren', u 'gou', u 'Ri ', u 'she ', u'tiany', u'tiao', u'que ', u'shi', u'shun ', u'shuo', u'qun', u'xue ', u'yun ', u 'xun', u 'fiao', u 'yune', u 'ding', u 'zao', u 'rang ', u 'Xi ', u'yong', u'zai', u'guany', u'guai', u'dong', u'kuai', u'in', u'kuany ', u 'Xu ', u 'Xia', u 'xie', u 'yin', u 'Rong ', u 'Xin', u 'tou', u 'niany ', u 'niao', u 'Xiu', u 'Man ', u 'kou', u 'niang', u 'Hua ', u 'chun', u 'Hun ', u'huo', u'hui', u'shuany', u'quany', u'shuai', u'chong ', u'bei', u'ben ', u 'Dang ', u 'Sai', u 'ang ', u 'sao', u 'San', u 'reng', u 'Ran ', u 'rao ', u 'Ming', u 'L \ u01dc ', u 'L \ u01da', u 'L \ u01d8 ', u 'Lil', u 'lia ', u 'min', u 'Miao', u 'miany', u 'mie ', u 'Liu', u 'Zou ', u 'Miu', u 'nen ', u'kai', u'kakao', u'kan ', u'dai', u'ka ', u'ke', u'yang ', u'ku ', u 'deng', u 'dou', u 'Shou', u 'chuang ', u 'nang', u 'Feng', u 'meng', u 'cheng ', u'di', u'de', u'da', u'gei', u'du', u'gen ', u'qu', u'shu ', u'sha', u' \ u1e3f', u 'ban ', u 'bao', u 'ba', u 'nun', u 'nuo ', u 'sen', u 'kei', u 'fang ', u 'teng', u 'lun', u 'luo', u 'Ken', u 'wa ', u 'wo', u 'ju', u 'Tui ', u 'wu', u 'jie', u 'Ji ', u 'Huang', u 'tuo ', u'cou', u'la ', u'mang', u'ci', u'tun', u'tong', u'ca', u'pou ', u'ce ', u'gong', u'cu ', u'dui', u'dun', u'duo', u'ting', u'qie ', u'yun', u'any', u'pi ', u'po', u'suan', u'chuna', u'chun ', u' \ u0148 ', u'chui', u'gao', u'gan ', u'ao', u'gai', u'xiong ', u'shanghai', u'n', u'shanghai', u'piao', u'shanghai', u'hangzhou', u'shanghai ', u 'bian ', u 'biao', u 'zhua', u 'duany', u 'cong', u 'zhui', u 'zhuo', u 'zhun ', u 'Hong ', u 'shuang', u 'juany', u 'zhei', u 'Pai ', u 'shai', u 'shany', u 'shao ', u'pan', u'pao', u'nin', u'nia, u'hang ', u' \ u01f9g', u'ni ', u 'zhuai', u 'Mou', u 'zhuany', u 'yuanyuan ', u 'Niu', u 'Zhong', u 'qy', u 'lin ', u'guang ', u'nao', u'n' \ u01d8', u'n' \ u01da ', u'n' \ u01dc', u'hai ', u'han ', u'hao', u'wei', u'wen ', u'ruan', u'cuo ', u'cun', u'cui ', u 'bin', u 'bin', u 'L \ xfce ', u 'shen', u 'shei', u 'fou', u 'xing ', u' \ u0144g ', u'qia', u'qiang ', u'nuan', u'pen ', u'pei', u' \ u01f9 ', u'rui ', u'run', u'ba', u'sheng', u'rua', u'bi', u'bu ', u'chuan ', u'qing', u'chuai', u'pu', u'o', u'chou', u'ou ', u'zui', u'lua ', u 'zuo', u 'jian ', u 'jiao', u 'sou', u 'wan', u 'Jing', u 'qiong ', u 'wai ', u 'long', u 'Pa', u 'Liang ', u 'Loud', u 'huany', u 'Shanghai', u 'hei', u 'huai ', u'n' \ xfce ', u' \ u0144', u'jue ', u'shang', u'jun', u'hu', u'hm ', u'ling', u'ha', u'h', u'zhu', u'ceng', u'zha', u'zh', u'zhi ', u 'Qin', u 'pin', u 'Ai', u 'Chai', u 'Chan', u 'pie', u 'zeng', u 'A ', u'qiu ', u'ni', u'na', u'zang', u'nai', u'nan ', u'ne', u'ng ', u 'chuo', u 'tie ', u 'you', u 'nu', u 'zheng', u 'leng', u 'Zun ', u 'zhou ', u'lang ', u'e', u'hng']) def pinyin_split (): pinyin = sys. argv [1] l = len (pinyin) p = [l] * (l + 1) p [l] = 0 s = [0] * l for I in xrange (L-1,-1,-1): for j in xrange (l-I ): if j = 0 or pinyin [I: I + j + 1] in py and p [I + j + 1] + 1
Example:
Reference: http://www.dewen.io/q/1037/%E5%A6%82%E4%BD%95%E5% AE %9E%E7%8E%B0%E5%B0%86%E8%BF%9E%E7%BB%AD%E7%9A%84%E6%B1%89%E8%AF%AD%E6%8B%BC%E9%9F%B3%E5%88%86%E9%9A%94%E5%BC%80
The above section describes how PHP separates consecutive Chinese pinyin characters, including related content, and hopes to help friends who are interested in PHP tutorials.