请协助如何字符截取,谢谢

yyqqll 2017-04-25 09:00:36
请协助如何字符截取,谢谢

有个表有两个字段,A和B

A字段有3个记录

上海有个公司,报电路4MDL0025故障。
广东有个公司,报VPN00002电路故障。
北京有个公司,电路LDC00567网络故障。


希望A字段的记录的中文和符号去掉,把字母和数字截取出来放在B字段。

结果:
A B
上海有个公司,报电路4MDL0025故障。 4MDL0025
广东有个公司,报VPN00002电路故障。 VPN00002
北京有个公司,电路LDC00567网络故障。 LDC00567
...全文
540 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
taohua300 2017-04-29
  • 打赏
  • 举报
回复
lcstr = "上海有个公司,报电路4MDL0025故障。"

a1 = Strconv(lcstr,1)
a2 = Bitxor(Cast(lcstr as W),Cast(a1 as W))
lcstr = Substr(lcstr,1 + Len(a1) - Len(Ltrim(a2)))
*这是lcstr = "4MDL0025故障。"
a1 = Strconv(Strconv(lcstr,1),5)
a2 = Strconv(lcstr,5)
a3 = Bitxor(Cast(a1 as w),Cast(a2 as w))
lcstr = Substr(lcstr,1,Int(1 + (At(Chr(0) + Chr(0),a3) - 1) /2) - 1)
?lcstr
豆老师的虽然简单,但如果字符串比较长的时候,速度就回慢下来 二楼的正则表达式,速度自然是没的说 我又给了另一个,看起来不好懂,速度还可以
yyqqll 2017-04-27
  • 打赏
  • 举报
回复
谢谢十三豆,两次替换,下次会用了, 第二个,没有看懂,能解释一下。
xuzuning 2017-04-27
  • 打赏
  • 举报
回复
re = Createobject("VBScript.RegExp")
re.Global = .T.
re.Ignorecase = .T.
re.Pattern = "\W"

Update 表 Set B=re.replace(A, '')
十豆三 2017-04-26
  • 打赏
  • 举报
回复
Update 表名 Set 字段b=Chrtran(字段a,Chrtran(Lower(字段a),[0123456789abcdefghijklmnopqrstuvwxyz],''),'')

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧