明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1503|回复: 10

[提问] 求字一个有关处理符串的函数

[复制链接]
发表于 2016-1-16 21:56:21 | 显示全部楼层 |阅读模式
举个例子,判断字符串"xby" 是否被包含于"xnbnhjymh"中,必须是三个字符都在其中,而且位置不受限制。wcmatch这个函数只要有一个在其中就返回T所以不能用,求解!!!
发表于 2016-1-16 22:44:51 | 显示全部楼层
使用逻辑运算符and
(and (wcmatch "xnbnhjymh" *x*") (wcmatch "xnbnhjymh" "*b*)...)
 楼主| 发表于 2016-1-16 23:06:53 | 显示全部楼层
ll_j 发表于 2016-1-16 22:44
使用逻辑运算符and
(and (wcmatch "xnbnhjymh" *x*") (wcmatch "xnbnhjymh" "*b*)...)

还有字符的个数不能确定,这个操作起来太麻烦!
发表于 2016-1-17 07:16:37 | 显示全部楼层
[ 本帖最后由 ivde 于 2016-1-17 07:24 编辑 ]\n\n

(wcmatch "xnbnhjymh" "*[x]*[b]*[y]*")
or
(wcmatch "xnbnhjymh" "*x*b*y*")
 楼主| 发表于 2016-1-17 09:59:42 | 显示全部楼层
ivde 发表于 2016-1-17 07:16
[ 本帖最后由 ivde 于 2016-1-17 07:24 编辑 ]\n\n

(wcmatch "xnbnhjymh" "*[x]**[y]*")

把字符换成变量呢?上面只是举个例子,要是"xm"  "xbymh"这个呢?字符的个数不确定,位置也不固定,只是判断是否包含在里面!!
发表于 2016-1-17 10:05:05 来自手机 | 显示全部楼层
xx16451860 发表于 2016-1-17 09:59
把字符换成变量呢?上面只是举个例子,要是"xm"  "xbymh"这个呢?字符的个数不确定,位置也不固定,只是判 ...

你不会用strcat 啊!
 楼主| 发表于 2016-1-17 10:14:39 | 显示全部楼层
ivde 发表于 2016-1-17 10:05
你不会用strcat 啊!

如果要呢么简单我早就弄好了! "xnbnhjymh" 你说的这个 (wcmatch "xnbnhjymh" "*[q]**[y]*")这种也返回T,我要的是全部包含!
发表于 2016-1-17 10:19:28 来自手机 | 显示全部楼层
本帖最后由 ivde 于 2016-1-17 10:20 编辑

你漏了 x
(wcmatch str (strcat "*" str1 "*" str2 "*"))
 楼主| 发表于 2016-1-17 10:29:08 | 显示全部楼层
ivde 发表于 2016-1-17 10:19
你漏了 x
(wcmatch str (strcat "*" str1 "*" str2 "*"))

首先字符不确定,个数不确定,位置不确定,要判断是否被包含其中,
我要的是
"xnbnhjymh"
"xbm" 返回T
"nhy" 返回T
"xnb" 返回T
"nhj" 返回T
"ymh"返回T
……
"qbm" 返回nil
"xwh" 返回nil
"fgkds" 返回nil
……
发表于 2016-1-17 10:32:09 来自手机 | 显示全部楼层
本帖最后由 ivde 于 2016-1-17 10:36 编辑
xx16451860 发表于 2016-1-17 10:29
首先字符不确定,个数不确定,位置不确定,要判断是否被包含其中,
我要的是
"xnbnhjymh"

把字符串处理下,首尾及两两中间加 “*”

  1. (wcmatch str
  2.          (strcat "*"
  3.                  (apply        'strcat
  4.                         (mapcar        '(lambda (x) (strcat (chr x) "*"))
  5.                                 (vl-string->list matstr)
  6.                         )
  7.                  )
  8.          )
  9. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 18:35 , Processed in 0.200992 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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