macran 发表于 2018-9-5 12:07:42

字符串截取 已解决

本帖最后由 macran 于 2018-9-6 10:49 编辑


类似这样: "2018/8/2315:44:17"的字符串,怎么把2018/8/23提取出来。 空格好想不能分割。很久没用autoit了。这样的问题是不是很弱智啊。别喷!

skyfree 发表于 2018-9-7 10:48:10

wu5cheng3 发表于 2018-9-6 12:11
skyfree 的代码变量名与方法名称好标准!~

AU3变量不区分变量类型,但最好自己心里有点数,否则写大点的程序时很麻烦。

h20040606 发表于 2018-9-5 12:43:28

StringSplit ("2018/8/2315:44:17", " ")

繁星 发表于 2018-9-5 13:06:56

\d+/\d+/\d+

skyfree 发表于 2018-9-5 15:06:26

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:11:50

本帖最后由 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。

229989799 发表于 2018-9-5 15:54:56

惊现天空老大

afan 发表于 2018-9-5 19:32:57

如果只是这样的字符串,就不需要做其它判断了 StringRegExp('2018/8/2315:44:17', '^\S+', 1)

顽固不化 发表于 2018-9-5 21:16:16

skyfree 发表于 2018-9-5 15:11
注意这种方法提取出来的日期可能和你原有书写方式不一致,例如如果你写 2018/08/23 提取后则是 2018/8/ ...

名人连出俩答案,佩服

顽固不化 发表于 2018-9-5 21:16:56

afan 发表于 2018-9-5 19:32
如果只是这样的字符串,就不需要做其它判断了

代码好精炼,五体投地

wu5cheng3_bak 发表于 2018-9-6 12:11:45

skyfree 的代码变量名与方法名称好标准!~

gzh888666 发表于 2019-1-23 00:54:25

本帖最后由 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]
查看完整版本: 字符串截取 已解决