楼主: jzhyue
10041 14

关于汉字转换拼音 [推广有奖]

  • 2关注
  • 3粉丝

已卖:7份资源

副教授

36%

还不是VIP/贵宾

-

威望
0
论坛币
398 个
通用积分
477.5302
学术水平
60 点
热心指数
59 点
信用等级
48 点
经验
10931 点
帖子
455
精华
0
在线时间
1118 小时
注册时间
2005-12-31
最后登录
2025-2-8

楼主
jzhyue 发表于 2010-8-14 09:06:27 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位坛友:请教一个关于汉字转换成汉语拼音的问题。
附件“ 汉字string.rar (1.61 KB) 本附件包括:
  • 汉字string.dta
“中一含有汉字的字符串变量x,如何将x中的汉字按照附件“ 汉字转拼音对应表.rar (1009 Bytes) 本附件包括:
  • 汉字转拼音对应表.dta
”汉字(str)与拼音(pyin)对应关系全部转换成汉语拼音?
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:汉字转换 字符串变量 汉语拼音 对应关系 字符串 应用

汉字转拼音.rar
下载链接: https://bbs.pinggu.org/a-718883.html

3.84 KB

本附件包括:

  • 拼音string.dta
  • 汉字string.dta
  • 汉转拼音.dta

沙发
sungmoo 发表于 2010-8-14 09:22:03
jzhyue 发表于 2010-8-14 09:06 replace x=subinstr(x,word("`a'",`i'),word("`b'",`i'))
subinstr()须有四个自变量

藤椅
jzhyue 发表于 2010-8-14 09:36:59
sungmoo 发表于 2010-8-14 09:22
jzhyue 发表于 2010-8-14 09:06 replace x=subinstr(x,word("`a'",`i'),word("`b'",`i'))
subinstr()须有四个自变量
第四个变量可以是missing,已修改,
结果没有改变

板凳
sungmoo 发表于 2010-8-14 10:28:20
jzhyue 发表于 2010-8-14 09:36 结果没有改变
没有看明白你想要的结果,还有它与给出的数据库的关系。

报纸
jzhyue 发表于 2010-8-14 11:18:48
sungmoo 发表于 2010-8-14 10:28
jzhyue 发表于 2010-8-14 09:36 结果没有改变
没有看明白你想要的结果,还有它与给出的数据库的关系。
给出的数据是汉字与拼音的对照表(loca a 汉字 与 b 拼音的对应表)
变量 x 是一个含有汉字的string,我的任务就是将变量x中的汉字全转变成拼音。
将x 模拟一下:
gen x1=string(int(100*uniform()))
gen x2=string(int(10000*uniform()))
gen xn=1+int(`n'*uniform())
gen x=x1+str[xn]+x2
(附件中的“汉字string”)
要求:将附件中的“汉字string"  变量x中的汉字 按照“汉转拼音”中汉字与拼音的对照表(同 : loca a 汉字 与 b 拼音的对应表)全部转变成拼音(附件中的“拼音string" x)

汉字转拼音.rar

3.84 KB

本附件包括:

  • 拼音string.dta
  • 汉字string.dta
  • 汉转拼音.dta

地板
sungmoo 发表于 2010-8-14 13:10:01
local macro中的内容的长度不能超过244,剩余部分会被忽略。

7
sungmoo 发表于 2010-8-14 13:18:58
*如果x的观测值只包含汉字与数字,可使用以下命令得到x中所含的汉字串y
g y=x
forv i=0/9{
replace y=subinstr(y,"`i'","",.)
}
*将主楼中的loc a与loc b这两命令对应成一个数据库。将两数据库合并,可得到结果。

8
jzhyue 发表于 2010-8-14 14:16:13
sungmoo 发表于 2010-8-14 13:18
*如果x的观测值只包含汉字与数字,可使用以下命令得到x中所含的汉字串y
x也包含字母和其他,只是不好模拟而已,比如:成H_236Hh(1)
方法1可以运行,只是没有一一对应。好像没有受macro  244字符的约束。
thank you

9
jzhyue 发表于 2010-8-14 19:21:39
7# sungmoo

重新将问题整理,见一楼

10
sungmoo 发表于 2010-8-15 07:53:24
*设两文件都在默认目录里(以下根据数据特点而定)
use 汉字string.dta,clear
g str=x
loc m="0 1 2 3 4 5 6 7 8 9 - _ ( ) + # @ J"
foreach i of loc m{
replace str=subinstr(str,"`i'","",.)
}
joinby str using 汉字转拼音对应表.dta
g xx=subinstr(x,str,py,.)
drop str py

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-5 20:55