我正在编写Lotusscript代理,我怎么说我需要在空格字符的右边取值?例如,下面取/右侧的值:
fld9.Value = StrRight(Cstr(doc.request(0)), "/") 但是如果我放空格而不是/,它就不能工作了。我需要在那里写一些代码吗?
谢谢
发布于 2013-06-12 20:08:03
它确实适用于太空" "。我的猜测是,您的表达式Cstr(doc.request(0))不包含空格,因为Cstr()在没有空格的情况下将数字转换为字符串。
如果您想以字符串形式从日期/时间值中获取时间,那么最好使用format()
fld9.Value = Format(doc.request(0), "hh:nn:ss")发布于 2013-06-12 20:13:29
您确定要查找的字符是空格而不是另一个空格字符吗?
如果它是一个空格,那么这将与您的示例中的工作方式相同:
fld9.Value = StrRight(Cstr(doc.request(0)), " ")或者更灵活一些。
Dim strSpace as String
strSpace = Chr$(20)
fld9.Value = StrRight(Cstr(doc.request(0)), strSpace)为了找出你在那里得到了什么,你需要提取一个字符串(你可能知道),然后这样做:
Dim strSpaceChar As String
Dim lngAsc as Long
strSpaceChar = Mid$("Your String with a space", 5, 1)
' 5 = Position of the "space" character, 1 = Number characters
lngAsc = Asc( strSpaceChar )如果使用lngAsc <> 20,则需要将上面示例中的strSpace替换为正确的字符...
如果文本中可能有不同的“空格”,而您在运行之前并不知道,那么使用“空格”的所有已知变体创建一个数组(下面的示例将NewLines和HTML nbsp视为空格)
Dim arrSpaces( 3 ) as String
arrSpaces( 0 ) = Chr$( 10 )
arrSpaces( 1 ) = Chr$( 13 )
arrSpaces( 2 ) = Chr$( 0 )
arrSpaces( 3 ) = Chr$( 160 )用一个“真实”的空间来代替它。
myString = Replace( Cstr(doc.request(0)) , arrSpaces , Chr$(20) )因为有新的问题而编辑:有处理日期/时间值的类。你可以这样做:
Dim dtRequest as NotesDateTime
Dim strDate as String
Dim strTime as String
Set dtRequest = New NotesDateTime( doc.request(0) )
strDate = dtRequest.DateOnly
strTime = dtRequest.TimeOnlyhttps://stackoverflow.com/questions/17064647
复制相似问题