查看: 1118|回复: 2

[资料分享] 一种字符串分割,直接应对数值范围的方式 XX~ XX

  [复制链接]

4

主题

4

回帖

52

积分

管理员

积分
52
发表于 2023-3-6 12:02:28 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

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

×

4 I+ o; ~: B7 F( M6 O/ `- H; H& I# B1 R4 Y. A8 f# ^( c# K9 p
一种字符串分割,直接应对数值范围的方式 XX~ XX 分解/ Y( V1 s4 f$ a0 C3 Z

4 A% V1 m: C  t5 q  X9 X" \

  1. ! P" N; q' W5 u1 ]
  2. % q" ^3 _8 F2 ?7 i; I
  3. std::vector<NXOpen::NXString> getScopeLetterStringElements(string inputScopeStr)
    7 y: d5 `( {( a( y! X8 F
  4. {) _/ Q( G7 ^' t8 O( W, _
  5.         vector<NXString> getSplitValues;; E0 x' W0 V$ C8 k/ B3 ]; h/ t
  6.         getSplitValues.clear();
    % S" w, E* C& g: v7 S& {
  7.         //Echo("%s", inputScopeStr.c_str());
    4 f0 Y" d8 T  y1 S7 n. N
  8.         string tempStr("");
    - @/ Q3 N, O- A
  9.         if (inputScopeStr.size() > 1 && inputScopeStr.find('~'))
    2 O9 _: a6 S8 J( w( t# x* ~& M
  10.         {5 y/ t- X4 e' T2 a: H9 u: ~
  11.                 char getStarTC = inputScopeStr.at(0);% m! h7 X$ E4 x+ [9 `4 B# |& k1 k
  12.                 char getEndC = inputScopeStr.at(2);, |* D$ F; m' A; c3 d) k- I6 d
  13.                 char tempC = getStartC;
    6 J3 C; @- q' g# a
  14.                 while (tempC >= getStartC && tempC <= getEndC)
    $ `5 }2 K' E# m0 i+ ]9 ?( X
  15.                 {
    / C$ ~1 {& i1 @; A8 B9 m8 L
  16.                         tempStr = std::string(1, tempC);
    : Z$ m2 f' K# }( y% s; ?: v
  17.                         getSplitValues.push_back(tempStr.c_str());
    , I: Q; S# k+ h) X
  18.                         tempC++;" R% H3 L' L8 r# z% Q/ |
  19.                 }  \& k0 C/ z" `& G
  20.         }$ A( L2 C0 u9 e3 @
  21.         else
    3 ~6 I, L+ D0 T- Q% y
  22.         {
      @3 {0 k1 `: t, j
  23.                 tempStr = std::string(1, inputScopeStr.at(0));
    " ~2 |; y  ~" l4 E) W. D* ]$ u

  24. 3 A4 e- f( w2 Q& J  ~& f4 @
  25.                 //Echo("%s", tempStr.c_str());+ |' t. v  h. _5 a) \' V' S

  26. 7 S) b4 r( f3 O( t3 k6 e. u" ~) x% ]
  27.                 getSplitValues.push_back(tempStr);/ D0 ~2 A& U7 c- i, h& r
  28.         }. g9 X; x$ _1 u8 E6 W
  29. 8 @1 ~7 y7 R+ ^' j" m
  30.         return getSplitValues;$ j0 i. L3 }" z
  31. }. A% q" P2 C( i: X
复制代码
/ I2 X7 M2 {7 P6 k4 R6 t* c; A' j
4 X2 i+ ~- _+ b& L
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部