找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 849|回复: 12

[编程申请]:分解字符串

[复制链接]
发表于 2004-2-24 07:38:14 | 显示全部楼层 |阅读模式

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

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

×
将7-17-27,分解为7,-,17,-,27,而不是单个字符
G0.6-0.6-0,分解为G,0.60,-,0.60,-,0
将325;46;21(为一字符串),分解为字符串325,;  ,46,; , 21
图中的数字有各个角度的,所编的程序能批量处理在屏幕上原位置
替换原格式的文字。适用于R14以上版本。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-2-26 11:00:48 | 显示全部楼层
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-2-26 11:37:43 | 显示全部楼层
我看了一下,有一定的难度,能否写出一个完整的程序来,请高手试试。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-26 12:46:27 | 显示全部楼层
编程主要是为了操作自动化和提高效率.
一般来说, 那些重复性工作, 且有一定规律可循, 便通过编程来解决. 是有条件的.
例如第二例:7-17-27, 可以把"-"当作分隔符, 很容易. 但第一例G0.6-0.6是否有规律? 其中"G"是否一定是字母? 一个还是多个? 你这些不说清楚, 别人怎么编?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-2-26 16:29:36 | 显示全部楼层
文字格式中第一类前面只有一个字母,图上已经很清楚了。
如果解决不了第一类格式,编程能把第二类格式分解开也行。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-26 18:18:31 | 显示全部楼层
我看规律是数字分离
也不是不能编的:)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-27 10:43:54 | 显示全部楼层
最初由 wcf 发布
[B]文字格式中第一类前面只有一个字母,图上已经很清楚了。
如果解决不了第一类格式,编程能把第二类格式分解开也行。 [/B]


第二类可以使用acet-str-to-list函数:
(acet-str-to-list " " (acet-str-replace "-" " - " "7-1.7-2.7")) .

第一类:
  (setq ss "G0.6-0.6-0")
  (cons (substr ss 1 1)
            (acet-str-to-list " " (acet-str-replace "-" " - " (substr ss 2 (1- (strlen ss)))))
  )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 23个

财富等级: 恭喜发财

发表于 2004-2-27 10:54:12 | 显示全部楼层
这个应该是PKPM_SATWE或TAT的配筋简图,格式是固定的,所以很容易实现string->list的解析
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-27 11:14:22 | 显示全部楼层
"配筋简图"?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 181个

财富等级: 日进斗金

发表于 2004-2-27 20:13:13 | 显示全部楼层

  1.   [FONT=courier new]
  2. Function SplitNumber(Expression As String) As Variant
  3.     Dim s As String
  4.     s = Left(Expression, 1)
  5.     Dim IsChar As Boolean
  6.     If InStr("0123456789.", s) = 0 Then
  7.         IsChar = True
  8.     End If
  9.     Dim n As Integer
  10.     Dim a() As String
  11.     n = 0
  12.     ReDim Preserve a(n)
  13.     a(n) = s
  14.     Dim i As Integer
  15.     For i = 2 To Len(Expression)
  16.         s = Mid(Expression, i, 1)
  17.         If InStr("0123456789.", s) Then
  18.             If IsChar = True Then
  19.                 n = n + 1
  20.                 ReDim Preserve a(n)
  21.                 a(n) = s
  22.             Else
  23.                 a(n) = a(n) + s
  24.             End If
  25.             IsChar = False
  26.         Else
  27.             If IsChar = True Then
  28.                 a(n) = a(n) + s
  29.             Else
  30.                 n = n + 1
  31.                 ReDim Preserve a(n)
  32.                 a(n) = s
  33.             End If
  34.             IsChar = True
  35.         End If
  36.     Next
  37.     SplitNumber = a
  38. End Function

  39. Sub test()
  40.     Dim v As Variant
  41.     v = SplitNumber("325;46;21")
  42.     Dim i As Integer
  43.     For i = 0 To UBound(v)
  44.         Debug.Print v(i)
  45.     Next
  46. End Sub

  47. 7-17-27拆分为:
  48. 7

  49. 17

  50. 27

  51. G0.6-0.6-0拆分为:
  52. G
  53. 0.6

  54. 0.6

  55. 0

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

使用道具 举报

发表于 2004-3-4 00:01:20 | 显示全部楼层
明经的MEFLYING不是给你搞定了吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-6 10:45:43 | 显示全部楼层
我真想立刻开始学习二次开发,可是从何开始?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-3-6 11:11:57 | 显示全部楼层
下载电子教程来学习,然后多在论坛看看帖子,多练习,自然水平就可以提高了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-21 00:55 , Processed in 0.357301 second(s), 56 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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