找回密码
 加入
搜索
查看: 2468|回复: 7

[AU3基础] 请教语音库只读单个数字的方法。

  [复制链接]
发表于 2011-9-11 15:49:08 | 显示全部楼层 |阅读模式
复制了一段数字,语音库就读成了1百3十9亿9千9百9十9万9千9百9十9  这样。能只读数字么?求方法。
发表于 2011-9-11 16:42:45 | 显示全部楼层
HotKeySet("{esc}","ExitMe")

$sp = ObjCreate("SAPI.SPVoice")
$sp.volume = 100
While True
    Sleep(100)
    $str = ClipGet()
    If StringLen($str) > 0 Then
        $str=StringRegExpReplace($str,"(\d)","$1 ")
        $sp.speak($str)
        ClipPut("")
    EndIf
WEnd
        
Func ExitMe()
    Exit 0
EndFunc
这个试下
发表于 2011-9-12 20:10:44 | 显示全部楼层
谢谢,学习了
发表于 2011-9-12 20:40:19 | 显示全部楼层
本帖最后由 xms77 于 2011-9-12 20:41 编辑

回复 2# kevinch
2楼的高人,来顶你的肺。学习你的代码,就是那句正则的没有看懂,请教"$1 "是什么意思?
发表于 2011-9-12 21:20:58 | 显示全部楼层
回复  kevinch
2楼的高人,来顶你的肺。学习你的代码,就是那句正则的没有看懂,请教"$1 "是什么意思?
xms77 发表于 2011-9-12 20:40

兄弟,先分清这句话是好是坏吧!
"$1 "就是把替换内容的第一个分组保留,并在后面添加个空格。
发表于 2011-9-12 22:16:35 | 显示全部楼层
回复 5# kevinch
这行代码就是在每个数字的后面加一个空格符,谢谢!懂了
 楼主| 发表于 2011-9-13 16:02:21 | 显示全部楼层
回复 2# kevinch



谢谢你的帮助,我经过学习,罗嗦的写成了这样,,
                $str = StringRegExpReplace($str, "(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})(\d{1})", "$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,")
发表于 2011-9-13 18:49:15 | 显示全部楼层
回复 7# cj4025
精神可嘉,方法就不评论了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 10:21 , Processed in 0.122622 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表