字符串截取 已解决
本帖最后由 macran 于 2018-9-6 10:49 编辑类似这样: "2018/8/2315:44:17"的字符串,怎么把2018/8/23提取出来。 空格好想不能分割。很久没用autoit了。这样的问题是不是很弱智啊。别喷!
wu5cheng3 发表于 2018-9-6 12:11
skyfree 的代码变量名与方法名称好标准!~
AU3变量不区分变量类型,但最好自己心里有点数,否则写大点的程序时很麻烦。 StringSplit ("2018/8/2315:44:17", " ")
\d+/\d+/\d+ AutoItSetOption('MustDeclareVars', 1)
_Main()
Exit
Func _Main()
Local $sDateTime = '2018/8/2315:44:17'
Local $sDate = ''
Local $aTemp = StringRegExp($sDateTime, '^\d{4}/\d{1,2}/\d{1,2}', 3)
If Not (@error) Then $sDate = $aTemp
If $sDate <> '' Then MsgBox(64, 'Date', $sDate)
EndFunc ;==>_Main 本帖最后由 skyfree 于 2018-9-5 15:13 编辑
AutoItSetOption('MustDeclareVars', 1)
#include <Date.au3>
_Main()
Exit
Func _Main()
Local $sDateTime = '2018/8/2315:44:17'
Local $sDate = ''
Local $aDatePart, $aTimePart
_DateTimeSplit($sDateTime, $aDatePart, $aTimePart)
If Not (@error) Then $sDate = $aDatePart & '/' & $aDatePart & '/' & $aDatePart
If $sDate <> '' Then MsgBox(64, 'Date', $sDate)
EndFunc ;==>_Main
注意这种方法提取出来的日期可能和你原有书写方式不一致,例如如果你写 2018/08/23 提取后则是 2018/8/23。
惊现天空老大 如果只是这样的字符串,就不需要做其它判断了 StringRegExp('2018/8/2315:44:17', '^\S+', 1) skyfree 发表于 2018-9-5 15:11
注意这种方法提取出来的日期可能和你原有书写方式不一致,例如如果你写 2018/08/23 提取后则是 2018/8/ ...
名人连出俩答案,佩服 afan 发表于 2018-9-5 19:32
如果只是这样的字符串,就不需要做其它判断了
代码好精炼,五体投地 skyfree 的代码变量名与方法名称好标准!~ 本帖最后由 gzh888666 于 2019-1-23 12:55 编辑
skyfree 发表于 2018-9-5 15:11
注意这种方法提取出来的日期可能和你原有书写方式不一致,例如如果你写 2018/08/23 提取后则是 2018/8/ ...
Local $Str = '2018/8/2315:44:55'
Local $Test = StringRegExpReplace($str, '[^\S]+', ' ');练手保证一下$aTimePart的正确性
页:
[1]