开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2969|回复: 13
收起左侧

[已回应] 文本_取出中间文本

[复制链接]
结帖率:43% (3/7)
发表于 2013-12-25 20:19:40 | 显示全部楼层 |阅读模式   江苏省苏州市
我也说个要求 不知道能改不 文本_取出中间文本 如果 前面文本 设置为“” 空的时候 从第一个取 如果 后面文本 设置为“” 空的时候 取到最后一个字

结帖率:100% (11/11)

签到天数: 16 天

发表于 2013-12-26 08:54:26 | 显示全部楼层   重庆市重庆市
不可以,因为这个命令是出中间文本啊。
至于你说的那个可以使用  寻找文本,得到位置
然后 取文本右边实现
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2013-12-30 22:02:44 | 显示全部楼层   江苏省盐城市
bdching 发表于 2013-12-30 16:54
寻找文本 搜寻 汉字 也要考虑汉字的双字符

后面位置 = 寻找文本 (搜寻文本, 后面文本, 前面位置 + 1 ...

用我修改过后的,就没有问题啦,详见第7楼
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 19 天

发表于 2013-12-30 16:54:45 | 显示全部楼层   山东省青岛市
小爬虫 发表于 2013-12-30 16:25
你自己试看看,用你的原代码,来

调试输出 (取出中间文本 ("随便测试的句子", “的”, ))

寻找文本 搜寻 汉字 也要考虑汉字的双字符

后面位置 = 寻找文本 (搜寻文本, 后面文本, 前面位置 + 1, 假)  

明明是在第10个字符 但是返回-1  郁闷
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 19 天

发表于 2013-12-30 16:39:35 | 显示全部楼层   山东省青岛市
QQ图片20131230163835.jpg
没发现什么问题啊
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2013-12-30 16:25:20 | 显示全部楼层   江苏省盐城市
bdching 发表于 2013-12-30 15:47
不能吧 我都用了 1年多了 也没发现什么问题

你自己试看看,用你的原代码,来

调试输出 (取出中间文本 ("随便测试的句子", “的”, ))

调试输出 (取出中间文本 ("随便测试的句子",, “的” ))

看一下结果就知道了
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 19 天

发表于 2013-12-30 15:47:04 | 显示全部楼层   山东省青岛市
小爬虫 发表于 2013-12-28 21:38
经过测试,你给的代码有问题的,我修正了一下:
[e]
.版本 2

不能吧 我都用了 1年多了 也没发现什么问题
回复 支持 反对

使用道具 举报

结帖率:100% (5/5)
发表于 2013-12-28 21:38:22 | 显示全部楼层   江苏省盐城市

经过测试,你给的代码有问题的,我修正了一下:
[e]
.版本 2
.支持库 spec

.子程序 虫_取出中间文本, 文本型, 公开
.参数 搜寻文本, 文本型
.参数 前面文本, 文本型, 可空
.参数 后面文本, 文本型, 可空
.局部变量 前面位置, 整数型
.局部变量 后面位置, 整数型
.局部变量 前面长度, 整数型
.局部变量 文本总长度, 整数型

文本总长度 = 取文本长度 (搜寻文本)

.如果 (是否为空 (前面文本))
    前面位置 = 1
    前面长度 = 0
.否则
    前面位置 = 寻找文本 (搜寻文本, 前面文本, , 假)
    前面长度 = 取文本长度 (前面文本)
.如果结束

调试输出 (前面位置, 前面长度)

.如果 (是否为空 (后面文本))
    后面位置 = 文本总长度 + 1
.否则
    .如果 (取代码 (取文本中间 (搜寻文本, 后面位置 + 1, 1), ) < 0)
        后面位置 = 寻找文本 (搜寻文本, 后面文本, 前面位置 + 2, 假)
    .否则
        后面位置 = 寻找文本 (搜寻文本, 后面文本, 前面位置 + 1, 假)
    .如果结束

.如果结束

调试输出 (后面位置)

.如果 (前面位置 ≠ -1 且 后面位置 ≠ -1)
    返回 (取文本中间 (搜寻文本, 前面位置 + 前面长度, 后面位置 - 前面位置 - 前面长度))
.否则
    返回 (“”)
[/e]
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 19 天

发表于 2013-12-28 13:23:30 | 显示全部楼层   山东省青岛市
  1. .版本 2

  2. .子程序 文本_取出中间文本, 文本型
  3. .参数 搜寻文本, 文本型
  4. .参数 前面文本, 文本型, 可空
  5. .参数 后面文本, 文本型, 可空
  6. .局部变量 前面位置, 整数型
  7. .局部变量 后面位置, 整数型
  8. .局部变量 前面长度, 整数型
  9. .局部变量 文本总长度, 整数型

  10. 文本总长度 = 取文本长度 (搜寻文本)
  11. 前面长度 = 取文本长度 (前面文本)
  12. .判断开始 (前面文本 = “”)
  13.     前面位置 = 1
  14. .默认
  15.     前面位置 = 寻找文本 (搜寻文本, 前面文本, , 假)
  16. .判断结束

  17. .判断开始 (后面文本 = “”)
  18.     后面位置 = 文本总长度 + 1
  19. .默认
  20.     后面位置 = 寻找文本 (搜寻文本, 后面文本, 前面位置 + 1, 假)
  21. .判断结束

  22. .判断开始 (前面位置 ≠ -1 且 后面位置 ≠ -1)
  23.     返回 (取文本中间 (搜寻文本, 前面位置 + 前面长度, 后面位置 - 前面位置 - 前面长度))
  24. .默认
  25.     返回 (“”)
  26. .判断结束
复制代码
回复 支持 反对

使用道具 举报

结帖率:43% (3/7)
 楼主| 发表于 2013-12-28 13:08:00 | 显示全部楼层   江苏省苏州市
bdching 发表于 2013-12-25 21:20
可以有 我自己就改装了 改装成你说的那样 嘿嘿

把你改好的代码 共享一下吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表