明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 989|回复: 2

[源码] 功能函数回收站 之 字符串处理

[复制链接]
发表于 2015-12-23 11:40 | 显示全部楼层 |阅读模式
这两天学习下正则表达式,综合几位前辈的代码,自己也整了一个,这玩意儿处理字符串来那真是分分钟的事
(正则传送门 http://bbs.mjtd.com/thread-170508-1-1.html
从此可以抛弃其它的方法了,虽然仅仅只有一个,还是收集的别人的,也忘了是哪位前辈的了,在此谢过了:)
虽然自己不需要了,直接删了又觉得可惜,故想到在此开一帖,专门留着回收大伙儿已经不需要的但功能还不错的函数。

先来一个(忘了是哪位的大师的了)
  1. ;;  按照一定的长度,将字符串进行分割成表(支持汉字双字节)
  2. ;;  参数str:要处理的字符串
  3. ;;      MaxLen:分割成表的字符串最大长度
  4. ;;  返回: 分割为字符串最大长度为MaxLen的表
  5. (defun DD-STR-DividedByLength(str MaxLen / alist pf strc strlist)
  6.   (setq  alist (vl-string->list str)
  7.     pf    0
  8.     strc  ""
  9.   )
  10.   (while alist
  11.     (if  (< pf MaxLen)
  12.       (progn (setq pf (1+ pf))
  13.         (if (< (car alist) 129)  ;car返回表中的第一个元素
  14.           (setq strc  (strcat strc (chr (car alist)))
  15.             alist (cdr alist)  ;返回去掉了第一个元素的表
  16.           )
  17.           (setq strc  (strcat strc (chr (car alist)) (chr (cadr alist)))
  18.             ;cadr返回表的第二个元素
  19.             alist (cddr alist)  ;cddr返回去掉了前两个元素的表
  20.           )
  21.         )
  22.       )
  23.       (progn
  24.         (setq strlist (cons strc strlist)
  25.           pf      0
  26.           strc    ""
  27.         )
  28.       )
  29.     )
  30.     (if  (not alist)
  31.       (setq strlist (cons strc strlist))
  32.     )          ;将最后不够最大长度的字符串加进表中
  33.   )
  34.   (reverse strlist)
  35. )
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2015-12-25 08:27 | 显示全部楼层
不顶的话很快就沉了
发表于 2015-12-25 08:36 | 显示全部楼层
学习一下,谢谢…………
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-20 07:54 , Processed in 0.258923 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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