明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 696|回复: 11

[基础] 去掉文本中的文字,只留数字

[复制链接]
发表于 2024-1-17 17:54 | 显示全部楼层 |阅读模式
购买主题 已有 5 人购买  本主题需向作者支付 1 个明经币 才能浏览
发表于 2024-1-17 18:14 | 显示全部楼层
有意分享,应该本着无私精神。商品交换本着先验货后付款。
回复 支持 2 反对 0

使用道具 举报

发表于 2024-1-18 09:45 | 显示全部楼层
精致的奸商。霸王条款
回复 支持 1 反对 0

使用道具 举报

发表于 2024-1-19 16:21 | 显示全部楼层
本帖最后由 llsheng_73 于 2024-1-19 16:24 编辑

  1. (defun StrType(a / b c d e);;字符串分离全角、符号、字母、数字,存在问题:连续小数点与数字相连不能精确分离数字和小数点
  2.     (setq b(vl-string->list a))
  3.     (while b
  4.       (setq a(car b)b(cdr b)c(last d))
  5.       (if(or(not d)
  6.             (and(< 0 a 32)(< 0 c 32));;非打印字符
  7.             (or(= 46 a)(= 46 c)(and(< 47 a 58)(< 47 c 58)));数字和小数点
  8.             (vl-every'(lambda(x)(vl-some'(lambda(y)(<(car y)x(cadr y)))'((31 48)(57 65)(90 98)(122 129))))(list a c));其它字符包括小数点
  9.             (vl-every'(lambda(x)(vl-some'(lambda(y)(<(car y)x(cadr y)))'((64 91)(96 123))))(list a c));;字母
  10.             (and(> a 128)(> c 128)));;全角字符
  11.         (if(> a 128)(setq d(vl-list*(car b)a d)b(cdr b))(setq d(cons a d)))
  12.         (setq e(cons(reverse d)e)d(if(> a 128)(list(car b)a)(List a))b(if(> a 128)(cdr b)b))))
  13.     (mapcar'vl-list->string(reverse(cons(reverse d)e))))

(vl-remove-if-not 'distof(StrType"免币123交流4.56收费78有理"))=>("123" "4.5" "678")
发表于 2024-1-17 19:06 | 显示全部楼层
连查看内容都要付费?跟百度学的吗?
发表于 2024-1-18 07:38 | 显示全部楼层
一行代码就能解决
发表于 2024-1-19 12:06 | 显示全部楼层
佛祖也不纯了
发表于 2024-1-19 14:38 | 显示全部楼层
没看到诚意
发表于 2024-1-23 13:26 | 显示全部楼层
本帖最后由 shiy65 于 2024-1-23 13:27 编辑

逻辑有点复杂
说个简单点的办法,
1. 定义一个判据函数  strT
   如果 单个字符串 s 属于 “数字” “小数点” 则返回 “T",否则返回 “nil “
2. 对输入的字符串,从左向右依次提取每一个字符,判断是否是 T
   记录每个符合要求的字符的起始位置(从左边开始计数的位置),
   和连续符合条件的字符长度,
   生成一个字符串提取记录表,列入总记录表,直至字符串最后一个字符为止
3. 按照总提取记录表的提取记录,依次提取,列入提取数字记录表,完成提取。

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 11:24 , Processed in 0.253027 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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