以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 地址解析,不可保存至表格中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=169386) |
||||
-- 作者:瑞峰 -- 发布时间:2021/6/14 21:03:00 -- 地址解析,不可保存至表格中 有两个问题,请帮忙指点一下。 1. 解析地址之后,只能显示在文本框,点击保存,不能保存到 订单表中。 如果使用writevalue, 就会出现,每点击一次 地址解析 这个 键,才保存一个单元格。一个地址,要点击多次,才可以保存完成。 2. 县区一级的地址解析,不成功。如果是江苏省无锡市新吴区,可以成功解析,但如果第三级是 江苏省无锡市江阴市,就不可以了。
样本地址: 孟女士,86-13831******7,河北省邯郸市永年区刘营镇朱庄西头牌坊 孟女士,86-13831******7,河北省邯郸市永年区刘营镇朱庄西头牌坊
[此贴子已经被作者于2021/6/16 15:40:58编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/6/14 21:56:00 -- 1、不能保存原因参考:http://www.foxtable.com/webhelp/topics/2436.htm 2、地址解析只能做到大概,无法完全符合,毕竟中文博大精深 可以参考:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=158931
|
||||
-- 作者:瑞峰 -- 发布时间:2021/6/16 15:41:00 -- 我想将 姓名,电话,地址,分成三段。 但是从不台平台有下面多种情况。 有没有办法? 李四,188*****708,江苏省无锡市新吴区大家庭 全角逗号 李四,188*****708,江苏省无锡市新吴区大家庭 半角逗号 李四 188*****708 江苏省无锡市新吴区大家庭 一个空格 隔开 李四 188*****708 江苏省无锡市新吴区大家庭 2个空格 隔开 李四 188*****708 江苏省无锡市新吴区大家庭 前面一个空格 后面2个空格隔开 李四 188*****708 江苏省 无锡市 新吴区 大家庭 全部一个空格 隔开
[此贴子已经被作者于2021/6/16 15:42:36编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/6/16 15:43:00 -- 除非规范录入的数据,否则可能还会有顿号、3个空格、4个空格、...... |
||||
-- 作者:瑞峰 -- 发布时间:2021/6/16 16:00:00 -- 以下4种是从PDD,TB,JD复制地址的格式。 单个我都搞定了,但是如果四种兼顾,我没有找到一个判定条件,用于自动选择 哪段代码。 李四,188*****708,江苏省无锡市新吴区大家庭 全角逗号 李四,188*****708,江苏省无锡市新吴区大家庭 半角逗号 李四 188*****708 江苏省无锡市新吴区大家庭 空格 隔开 李四 188*****708 江苏省 无锡市 新吴区 大家庭 全部一个空格 隔开
[此贴子已经被作者于2021/6/16 16:01:23编辑过]
|
||||
-- 作者:瑞峰 -- 发布时间:2021/6/16 16:03:00 -- 另外,FT 条件表达式中,怎么输入 全角逗号? |
||||
-- 作者:tommargq2 -- 发布时间:2021/6/16 16:12:00 -- 逐字符判断,遇到第一个数字,记录位置,将字符串该位置前所有字符取出记做“姓名” 去掉姓名部分的字符串逐字符判断,遇到第一个非数字字符记录位置,将该位置前所有字符记成“电话” 剩下的记做“地址” 对“姓名”和“地址”,去空格,去标点符号即可
用到的代码 DIM XM AS STRING DIM DH AS STRING DIM DZ AS STRING DIM ST AS STRING for i as integer = 0 to str.Length - 1 IF CHAR.ISNUMBER(str.Chars(i)) THEN XM = LEFT(str,i) ST = str.substring(i) EXIT FOR END IF next for i as integer = 0 to ST.Length - 1 if CHAR.ISNUMBER(ST.CHARS(I)) THEN ELSE DH = LEFT(ST,i) DZ = ST.SUBSTRING(I) EXIT FOR END IF NEXT
[此贴子已经被作者于2021/6/16 16:30:06编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/6/16 16:14:00 -- 全角参考:http://www.foxtable.com/webhelp/topics/1273.htm |
||||
-- 作者:瑞峰 -- 发布时间:2021/6/16 16:24:00 -- 聪明~~,太感谢了 |
||||
-- 作者:瑞峰 -- 发布时间:2021/6/16 16:25:00 -- 聪明~~,太感谢了 以下是引用tommargq2在2021/6/16 16:12:00的发言:
逐字符判断,遇到第一个数字,记录位置,将字符串该位置前所有字符取出记做“姓名” 去掉姓名部分的字符串逐字符判断,遇到第一个非数字字符记录位置,将该位置前所有字符记成“电话” 剩下的记做“地址” 对“姓名”和“地址”,去空格,去标点符号即可
用到的代码 DIM XM AS STRING DIM DH AS STRING DIM DZ AS STRING DIM ST AS STRING for i as integer = 0 to str.Length - 1 IF CHAR.ISNUMBER(str.Chars(i)) THEN XM = LEFT(str,i) ST = str.substring(i) EXIT FOR END IF next for i as integer = 0 to ST.Length - 1 if CHAR.ISNUMBER(ST.CHARS(I)) THEN ELSE DH = LEFT(ST,i) DZ = ST.SUBSTRING(I) END IF NEXT
|