找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8678|回复: 7

[已解决] 如何提取中文名称及图号

[复制链接]

2

主题

111

回帖

0

威望

助工

积分
129
发表于 2022-11-19 08:31 | 显示全部楼层 |阅读模式
本帖最后由 sx9237 于 2022-11-19 08:33 编辑

想咨询下,对于如TG-20-05-12下底板   这种该如何提取前面的图号及后面的中文名称,关键是TG-20-05-12这个不定长,有可能是TG-20-05-12-01,主要是对应不同的装配层级,出现相应长度的图号,所以对于这种不定长的图号,该怎么提取呢?

22

主题

452

回帖

2

威望

高工

积分
618
发表于 2022-11-19 09:19 | 显示全部楼层
可以试试下面这段程序
ORITEXT = "-"
temptext=图号参数

/*注:图号参数替换成表示图号的那个变量*/
temp_str=temptext
/*注:temp_str为中文字符串部分*/
IF SEARCH(temptext,ORITEXT)>1
temptext=EXTRACT(temptext,1,SEARCH(temptext,ORITEXT)-1)
end if

/*以下IF语句多次重复,重复的次数可以取预计会有多少个“-”数量,重复多了没有关系*/

IF SEARCH(temptext,ORITEXT)>1
temptext=EXTRACT(temptext,1,SEARCH(temptext,ORITEXT)-1)
end if

IF SEARCH(temptext,ORITEXT)>1
temptext=EXTRACT(temptext,1,SEARCH(temptext,ORITEXT)-1)
end if

IF SEARCH(temptext,ORITEXT)>1
temptext=EXTRACT(temptext,1,SEARCH(temptext,ORITEXT)-1)
end if

temp_str=EXTRACT(temp_str,SEARCH(temp_str,temptext),string_length( temp_str))

/*temp_str为中文部分结果*,temptext为除中文以外的部分*/

思路就是这样的。自己调试一下

评分

参与人数 1威望 +1 收起 理由
野火 + 1 热心助人

查看全部评分

回复

使用道具 举报

2

主题

111

回帖

0

威望

助工

积分
129
 楼主| 发表于 2022-11-19 10:50 | 显示全部楼层
ronny 发表于 2022-11-19 09:19
可以试试下面这段程序
ORITEXT = "-"
temptext=图号参数

麻烦再请教下,看的不是很明白,比如是:GT-20-12-01下底板或者GT-20-12-01-02下底板,我主要就是提取图号:GT-20-12-01或者GT-20-12-01-02,中文名称:下底板
我看你写的这个语句里,
temptext=图号参数,temp_str=temptext,
temp_str为中文部分结果*,temptext为除中文以外的部分,
这个是不是有点矛盾啊,这两块没法相等啊
另外,比如说设定参数partname=rel_model_name,那这个temp_str和temptext该怎么与partname设定关联。
if语句那老是报错,说“发现多余符合-”
回复

使用道具 举报

1

主题

377

回帖

9

威望

工程师

积分
461
发表于 2022-11-19 14:20 | 显示全部楼层
你命名的规则是不是固定,通过找“-”符好,找到最后一个“-”在往后第3位就是你的中文名?如果还有TG-20-05-12-110盖板这样的就不好搞了。。有固定的规律就好办
回复

使用道具 举报

2

主题

111

回帖

0

威望

助工

积分
129
 楼主| 发表于 2022-11-19 14:28 | 显示全部楼层
wang474807978 发表于 2022-11-19 14:20
你命名的规则是不是固定,通过找“-”符好,找到最后一个“-”在往后第3位就是你的中文名?如果还有TG-20-0 ...

想问下,如何写参数语句来找到最后一个"-"啊,我也是想能找到最后一个"-"的话,会相对好些,我这还好,暂时不会有三位数的,我之前写,都是只查到第一个“-”
回复

使用道具 举报

1

主题

377

回帖

9

威望

工程师

积分
461
发表于 2022-11-19 15:12 | 显示全部楼层
sx9237 发表于 2022-11-19 14:28
想问下,如何写参数语句来找到最后一个"-"啊,我也是想能找到最后一个"-"的话,会相对好些,我这还好,暂 ...

简单写了一下,直接复制几行循环的。
函数_Creo5.0.png

评分

参与人数 1威望 +1 收起 理由
野火 + 1 热心助人

查看全部评分

回复

使用道具 举报

22

主题

452

回帖

2

威望

高工

积分
618
发表于 2022-11-19 15:28 | 显示全部楼层
sx9237 发表于 2022-11-19 10:50
麻烦再请教下,看的不是很明白,比如是:GT-20-12-01下底板或者GT-20-12-01-02下底板,我主要就是提取图 ...

为什么要相等呢?
回复

使用道具 举报

2

主题

111

回帖

0

威望

助工

积分
129
 楼主| 发表于 2022-11-19 15:47 | 显示全部楼层
wang474807978 发表于 2022-11-19 15:12
简单写了一下,直接复制几行循环的。

非常感谢,完全可以应对我这边的图号规则了。
回复

使用道具 举报

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

本版积分规则

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2024) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2024-9-28 13:21 , Processed in 0.144770 second(s), 24 queries .

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