已解决多行数据如何处理问题
本帖最后由 网店 于 2012-4-21 00:50 编辑现有以下数据:
hq_st815="a,8.30,8.31,8.23,8.32,8.21,8.23,8.24,3812883,31463857,2012-04-19";
hq_st293="b,7.83,7.83,8.35,8.50,7.80,8.33,8.35,19280200,156963084,2012-04-19";
hq_st093="c,5.17,5.06,5.16,5.21,5.14,5.15,5.16,2774321,14355196,2012-04-19";
结果是将数据入库
问题:
如何取到每行只需要数据的一部分 815 a 8.30 3812883 2012-04-19
并快速入sqlite库(不需要生成文本文件) 用正则表达式可以把这些数据取出 这个需要正则大牛了,找A版吧,试了一下,技术不到家。 这种入库,我感觉没有太快的办法,不过我有个__sql.au3,操作起来还是很方便 回复 4# 58fly
可否一观 _sql.au3 回复 1# 网店
只希望有抛砖引玉的功效#include <array.au3>
Local $str = 'hq_st815="a,8.30,8.31,8.23,8.32,8.21,8.23,8.24,3812883,31463857,2012-04-19";' & @CRLF & _
'hq_st293="b,7.83,7.83,8.35,8.50,7.80,8.33,8.35,19280200,156963084,2012-04-19";' & @CRLF & _
'hq_st093="c,5.17,5.06,5.16,5.21,5.14,5.15,5.16,2774321,14355196,2012-04-19";'
$result = StringRegExp($str, '(?m)hq_st(\d+)="(,\d+\.\d{2})[^"]+(\d{7,8})(?:,\d{7,9}),(\d{4}-\d{2}-\d{2})";', 3)
If Not @error Then _ArrayDisplay($result) StringRegExp('hq_st815="a,8.30,8.31,8.23,8.32,8.21,8.23,8.24,3812883,31463857,2012-04-19";',".+(\d{3}).{2}(\w),(.{4}).+(\d{7}).\d+,(\d{4}-\d{2}-\d{2})",1) 回复 6# user3000
如何能快速入库!!!! 能否数列放入二维数组里?????????然后一次性处理一列!!! 本帖最后由 xms77 于 2012-4-20 11:28 编辑
回复 2# whitehead
这个正则有点难度啊!功力不够啊 回复 1# 网店
试一下我的。
#include <array.au3>
Local $str = 'hq_st815="a,8.30,8.31,8.23,8.32,8.21,8.23,8.24,3812883,31463857,2012-04-19";' & @CRLF & _
'hq_st293="b,7.83,7.83,8.35,8.50,7.80,8.33,8.35,19280200,156963084,2012-04-19";' & @CRLF & _
'hq_st093="c,5.17,5.06,5.16,5.21,5.14,5.15,5.16,2774321,14355196,2012-04-19";'
$result = StringRegExp($str, 't(\d{3})="(\w),(\d\.\d+).+\.\d{2},(\d+).+(\d{4}-\d\d-\d\d)";', 3)
If Not @error Then _ArrayDisplay($result)
回复whitehead
这个正则有点难度啊!功力不够啊
xms77 发表于 2012-4-20 11:24 http://www.autoitx.com/images/common/back.gif
这个正则问题好象没那么难,我是不会入库 练习练习~
#include <Array.au3>
Local $Str = _
'hq_st815="a,8.30,8.31,8.23,8.32,8.21,8.23,8.24,3812883,31463857,2012-04-19";' & @CRLF & _
'hq_st293="b,7.83,7.83,8.35,8.50,7.80,8.33,8.35,19280200,156963084,2012-04-19";' & @CRLF & _
'hq_st093="c,5.17,5.06,5.16,5.21,5.14,5.15,5.16,2774321,14355196,2012-04-19";' & @CRLF
Local $Test = StringRegExp($str, '[^\d]+(\d+)[^\w]+(\w+),([^,]+).*?,(\d{3,}).+,([^"]+)', 3)
If Not @Error Then _ArrayDisplay($Test, UBound($Test))
页:
[1]