找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1346|回复: 10

[求助] [求助]:如何分离字母与数字

[复制链接]
发表于 2007-7-2 19:21:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
请问如何能把字母与数字分开?如DK123分开成DK与123
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-7-3 08:39:05 | 显示全部楼层
记得坛里面原来贴子就有!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-7-3 19:48:42 | 显示全部楼层
;取得文本中第一次出现的数字
(setq txt "共13处")
(if (wcmatch txt "*#*")
    (progn (while (wcmatch txt "~#*") (setq txt (substr txt 2)))
           (setq tt (atoi txt))
    )
)

不是你要的,不过可以参考一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 7071个

财富等级: 富甲天下

发表于 2007-7-3 20:06:25 | 显示全部楼层
只此一型或更多的组合?

若只此一型, SubStr 即可处理

更多的组合则请另列举可能出现的组合
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-7-4 15:11:11 | 显示全部楼层

  1.   [FONT=courier new]
  2. ;;;不知合你意思否?
  3. (defun split-numstr (string / alpstr i numstr slen stri)
  4.   (setq slen (strlen string)
  5.         i 1
  6.   )
  7.   (setq numstr ""
  8.         alpstr ""
  9.   )
  10.   (while (<= i slen)
  11.     (if (textornum (setq stri (substr string i 1)))
  12.       (setq numstr (strcat numstr stri))
  13.       (setq alpstr (strcat alpstr stri))
  14.     )
  15.     (setq i (1+ i))
  16.       )
  17. (list numstr alpstr)

  18. )
  19. (defun textornum (string / cnt cc allnum numdec test)
  20.   (setq cnt 1
  21.         allnum t
  22.   )
  23.   (setq cc (substr string cnt 1))
  24.   (while (and
  25.            cc
  26.            allnum
  27.          )
  28.     (setq test (cond
  29.                  ((and
  30.                     (= cnt 1)
  31.                     (= cc "-")
  32.                   )
  33.                  )
  34.                  ((= cc "1"))
  35.                  ((= cc "2"))
  36.                  ((= cc "3"))
  37.                  ((= cc "4"))
  38.                  ((= cc "5"))
  39.                  ((= cc "6"))
  40.                  ((= cc "7"))
  41.                  ((= cc "8"))
  42.                  ((= cc "9"))
  43.                  ((= cc "0"))
  44.                  ((= cc ".")
  45.                    "dec"
  46.                  )
  47.                  (t
  48.                    nil
  49.                  )
  50.                )
  51.     )
  52.     (cond
  53.       ((= test nil)
  54.         (setq allnum nil)
  55.       )
  56.       ((and
  57.          (= numdec nil)
  58.          (= test "dec")
  59.        )
  60.         (setq numdec 1)
  61.       )
  62.       ((and
  63.          (= numdec 1)
  64.          (= test "dec")
  65.        )
  66.         (setq allnum nil)
  67.       )
  68.     )
  69.     (setq cnt (1+ cnt))
  70.     (setq cc (substr string cnt 1))
  71.     (if (= cc "")
  72.       (setq cc nil)
  73.     )
  74.   )
  75.   (eval allnum)
  76. )
  77. ;;;测试:
  78. ;;;Command: (split-numstr "ert78uh654rt64")
  79. ;;;("7865464" "ertuhrt")

  80. ;;;Command: (split-numstr "1e1rt5y4h6j3k9d4a2e8k3")
  81. ;;;("11546394283" "ertyhjkdaek")

  82.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-7-4 18:49:14 | 显示全部楼层
[php]
(defun numStr (txt / num str n tmp len)
  (setq        len (strlen txt)
        str ""
        num ""
        n   1
  )
  (repeat len
    (setq tmp (substr txt n 1)
          n   (1+ n)
    )
    (if        (VL-STRING-SEARCH tmp "1234567890")
      (setq num (strcat num tmp))
      (setq str (strcat str tmp))
    )
  )
  (list num str)
)

[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-7-5 12:55:36 | 显示全部楼层
各位用不同的思路解决了同一个问题,都不错,使我获益颇多,谢谢!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2007-7-5 15:48:24 | 显示全部楼层
取出非数字
  1. (vl-string-trim " " (vl-string-translate "0123456789" "         " str))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2个

财富等级: 恭喜发财

发表于 2007-7-5 15:54:11 | 显示全部楼层

  1.   [FONT=courier new]
  2. ;;;这样也行
  3. (defun numstr (txt / num str n tmp len)
  4.   (setq len (strlen txt)
  5.         str ""
  6.         num ""
  7.         n 1
  8.   )
  9.   (repeat len
  10.     (setq tmp (substr txt n 1)
  11.           n (1+ n)
  12.     )
  13.     (if (numberp (read tmp))
  14.       (setq num (strcat num tmp))
  15.       (setq str (strcat str tmp))
  16.     )
  17.   )
  18.   (list num str)
  19. )

  20.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2007-7-5 15:55:00 | 显示全部楼层
取出非数字
  1. (vl-string-trim " " (vl-string-translate "0123456789" "         " str))
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-11-30 21:55:55 | 显示全部楼层

  1. str="abc879acd"
  2. --->("abc" 879 "acd")
复制代码
如何处理
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-25 02:26 , Processed in 0.387316 second(s), 51 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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