如何从Dragon NaturallySpeaking高级脚本中的字符串中修剪所有形式的空格(制表符,换行符......)?
Trim()
仅删除空格。例如,以下语音命令将键入[tab]test
' Tested with Dragon NaturallySpeaking 12.5 Professional on Windows 7 SP1 x64 Ultimate
Sub Main
s = vbTab & "test"
s = Trim(s)
SendKeys s
End Sub
答案 0 :(得分:2)
我不知道Trim命令会自动删除制表符和其他空格,但您可以使用Replace命令逐个删除空格。
Sub Main
s = vbTab & "test"
s = Trim(s)
s = Replace (s, Chr(9), "") ' Replaces the tab character written in ASCII code with nothing
s = Replace (s, Chr(10), "") ' Replaces the LF written in ASCII code with nothing
s = Replace (s, Chr(13), "") ' Replaces the CR written in ASCII code with nothing
SendKeys s
End Sub
这是一个部分解决方案:它将删除所有这些空格,即使在字符串中也是如此。如果你想保留它们,你将不得不找到一种方法来测试第一个或最后一个字符是否为空格,并且不用替换它们。因为我以前没有这么做,所以我无法快速解决这个问题。
答案 1 :(得分:2)
根据我在这里所做的工作:
CheckNewPara在这里: http://knowbrainer.com/forums/forum/messageview.cfm?catid=4&threadid=2739&discTab=true&messid=11427&parentid=11409&FTVAR_FORUMVIEWTMP=Single 或者在论坛中搜索该术语,并注意,它的作用是回顾 查看光标所在之前存在的现有字符 当你调用函数决定下一步做什么时
可以适应并创建以下内容:
' Tested with Dragon NaturallySpeaking 13 Professional on Windows 8.1
Sub Main
s = vbTab & " " & vbTab & "test"
s = myTrim(s)
MsgBox """" & s & """"
End Sub
Function myTrim ( s As String )
While Left(s,1)=Chr(9) Or Left(s,1)=Chr(10) Or Left(s,1)=Chr(13) Or Left(s,1)=" "
s=Mid(s,2)
Wend
While Right(s,1)=Chr(9) Or Right(s,1)=Chr(10) Or Right(s,1)=Chr(13) Or Right(s,1)=" "
s=Mid(s,1,Len(s)-1)
Wend
myTrim = s
End Function
当然,您可以在常用的使用注释文件中引用myTrim函数,因此您只需编写一次。
H个,