VFP正则表达式应用:文本内容换行

原文本格式如下: 05 14 15 16 18 + 02 0605 14 15 16 25 + 02 0605 14 15 16 26 + 02 0605 14 15 16 27 + 02 0605 14 15 18 25 + 02 0605 14 15 18 26 + 02 0605 14 15 18 27 + 02 0605 14 15 25 26 + 02 0605 14 15 25 27 + 02 0605 14 15 26 27 + 02 0605 14 16 18 25 + 02 0605 14 16 18 26 + 02 0605 14 16 18 27 ...
正则表达式 | 2017-11-19 20:16 | 316次阅读 | 0评

VFP正则表达式应用:删除每一行行尾的指定字符

因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现 比如 12345 1265345 2345 需要删除每行末尾的“345”,最终文本为: 12345 1265 2 =================================== Re = Createobject("VBScript.RegExp") Re.Global = .T. Re.Ignorecase = .F. Re.Pattern ="345$" Re.MultiLine= .T. cStr="12345 1265345"+CHR(13)+CHR(10)+"2345...
正则表达式 | 2017-11-19 19:38 | 261次阅读 | 0评

VFP正则表达式应用:替换指定内容到行尾

原始文本如下面两行 abc aaaaa 123 abc 444 希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg” 即上面的文本最终替换为: abc efg 123 abc efg ===================================== CLEAR Re = Createobject("VBScript.RegExp") Re.Global = .T. Re.Ignorecase = .F. RE.Pattern ="abc.*" cStr="abc aaaaa"+CHR(13)+CHR(10)+"123...
正则表达式 | 2017-11-19 19:29 | 270次阅读 | 0评

VFP正则表达式应用:数字替换

希望把 asdadas123asdasdas456asdasdasd789asdasd 替换为: asdadas[123]asdasdas[456]asdasdasd[789]asdasd 在VFP中也可以做到,但过程比较复杂 CLEAR Re = Createobject("VBScript.RegExp") Re.Global = .T. Re.Ignorecase = .F. RE.Pattern ="(\d{3})" cStr="asdadas123asdasdas456asdasdasd789asdasd" ?cStr ?Re.Replace(cS...
正则表达式 | 2017-11-19 19:19 | 214次阅读 | 0评

正则表达式在VFP中BROWSE中的简单应用

查找出 XM 字段中除汉字以外的字符,并替换掉这些字符。 CREATE CURSOR tt (xm c(10),xm1 c(10)) INSERT INTO tt (xm) VALUES ("河南\省") INSERT INTO tt (xm) VALUES ("河-北省") INSERT INTO tt (xm) VALUES ("北,22京市") INSERT INTO tt (xm) VALUES ("上海市") INSERT INTO tt (xm) VALUES ("西安市") re = Createobject("VBScript.RegExp") ...
正则表达式 | 2017-11-17 20:26 | 283次阅读 | 0评

VFP之正则表达式提取指定文本内容1

CLEAR cStr = "苹果:iphone_5s;诺基亚:Nokia_1020" * 提取出cSrt中的"iphone_5s","Nokia_1020" Reg = Createobject("VBScript.RegExp") Reg.Global = .T. Reg.Ignorecase = .T. Reg.Pattern = "\w+" oExec=Reg.Execute(cStr) FOR i=0 TO oExec.Count-1 ?oExec.item(i).Value ENDFOR ...
正则表达式 | 2017-11-13 10:56 | 317次阅读 | 0评

正则表达式删除文本内容中的空行

* 删除没有空格的空行 clear cchr=chr(10)+chr(13) cstr="111111"+replicate(cchr,3)+"222222"+replicate(cchr,5)+"3333333"+replicate(cchr,10)+"4444" ?"=====" ?cstr re = Createobject("VBScript.RegExp") re.Global = .T. re.Ignorecase = .T. re.Pattern = "\r\n" && r 代表回车,n 代表换行 ?"=====" ?re.replac...
正则表达式 | 2017-11-07 11:21 | 250次阅读 | 0评

分组后取N条记录

CREATE CURSOR tt (班级 c(10),学号 c(10),成绩 n(3)) INSERT INTO tt VALUES ("01","X0101",86) INSERT INTO tt VALUES ("01","X0102",92) INSERT INTO tt VALUES ("01","X0103",72) INSERT INTO tt VALUES ("01","X0104",86) INSERT INTO tt VALUES ("02","X0201",75) INSERT INTO tt VALUES ("02","X0202",81) INSE...
VFP中SQL查询问题 | 2017-09-13 22:04 | 286次阅读 | 0评

孪生素数对

clear a=3 b=a ?"孪生素数对:" for i=3 to 100 step 2 x=0 for j=2 to i-1 if i/j=int(i/j) x=1 endif endfor if x=0 a=i if a-b=2 ?b,a endif b=a endif endfor
算法 | 2017-09-05 13:36 | 239次阅读 | 0评

质因数分解

clear input "请输入一个正整数=" to m store m to n,n1 x=2 s=1 y="" do while s<n1 if mod(n,x)=0 n=n/x s=s*x y=y+transform(x)+"*" else x=x+1 endif enddo messagebox(transform(s)+"="+left(y,len(y)-1))
算法 | 2017-07-27 16:22 | 249次阅读 | 0评

显示最后N条记录的方法

RECNO()>RECCOUNT()-N
数据表问题 | 2016-12-22 16:47 | 459次阅读 | 0评

成绩排名问题

CREATE CURSOR Cj (班级 C(5),姓名 C(10),总分 N(4),班级名次 N(6),年级名次 N(6)) =RAND(-1) FOR I=1 TO 1000 FOR J=1 TO 50 INSERT INTO Cj (班级,姓名,总分) VALUES ("B"+PADL(I,4,"0"),SYS(2015),RAND()*100) ENDFOR ENDFOR INDEX ON 班级-STR(总分,4) TAG px DESCENDING * 班级名次 mc=1 && 记录班级名次 nzf=0 &am...
数据表问题 | 2016-11-24 13:39 | 962次阅读 | 0评

正则表达式提取網頁內容

Clear  Text To s Noshow  <tr class='citytr'><td><a href='23/2301.html'>230100000000</a></td><td><a href='23/2301.html'>哈尔滨市</a></td></tr><tr class='citytr'><td><a href='23/2302.html'>230200000000</a></td>&...
正则表达式 | 2016-11-17 12:47 | 1381次阅读 | 0评

汉字10进制与汉字2进制互转

* 汉字十进制转换为二进制 N10=ASC('编') MESSAGEBOX('编') C02='' Do While N10>0 n=Mod(N10,2) N10=int(N10/2) C02=Str(n,1)+C02 enddo MESSAGEBOX(C02) * 汉字二进制转换为十进制 N10=0 FOR lnI=1 TO LEN(c02) N10=N10+VAL(SUBSTR(C02,lnI,1))*2^(LEN(C02)-lnI) ENDFOR MESSAGEBOX(CHR(N10))
编码转换 | 2016-10-10 12:35 | 3172次阅读 | 0评

16进制转换为10进制的格式

?CHR(INT(VAL([0X99])))
编码转换 | 2016-10-10 12:32 | 2222次阅读 | 0评

十进制转换为十六进制

?DECTOHEX(31) ?DECTOHEX(ASC([红])) ?DECTOHEX(ASC(SUBS([红],1,1))) + DECTOHEX(ASC(SUBS([红],2,1))) *-------------------------------------------------------------------------------- *十进制转十六进制函数 *-------------------------------------------------------------------------------- FUNCTION DECTOHE...
编码转换 | 2016-10-10 12:30 | 2148次阅读 | 0评

Unicode编码转汉字

示例 如:\u6cb3\u5357\u7701 Clear ? Strconv(Chr(0x6cb3%256) + Chr(Int(0x6cb3/256)), 6) + ; Strconv(Chr(0x5357%256) + Chr(Int(0x5357/256)), 6) + ; Strconv(Chr(0x7701%256) + Chr(Int(0x7701/256)), 6) 结果:河南省
编码转换 | 2016-10-10 12:28 | 1960次阅读 | 0评

阻止文本框控件失去焦点

文本框 LostFocus 事件代码 NoDefault Rreturn
文本框(TextBox) | 2016-09-15 20:39 | 3687次阅读 | 0评

日期型数据及日期时间型数据为空的赋值

日期型:{} 日期时间型:{/:}
日期时间问题 | 2016-09-07 12:53 | 3506次阅读 | 0评

闰年的判断

ld=DATE(2015,2,29) IF EMPTY(ld) ?"非闰年" ELSE ?"闰年" ENDIF
日期时间问题 | 2016-09-07 12:47 | 2985次阅读 | 0评
浏览172836次
最新评论