查看: 1202|回复: 2

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

 火 [复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
! \+ F0 n+ Z% v3 j* V

! B# `+ U) D& U7 q: Y& _一种字符串分割,直接应对数值范围的方式 XX~ XX 分解: j( L: g( j& M& {5 C! e% p9 }/ b

) }, ?  @' Z7 Q1 }8 t

  1. $ Y; L& O2 K: u2 x
  2. 0 O# o) B3 z, U+ k# G0 Y
  3. std::vector<NXOpen::NXString> getScopeLetterStringElements(string inputScopeStr)
    2 m5 `, G' S4 p3 l* c+ n: z% s
  4. {8 V- P# z4 r# \
  5.         vector<NXString> getSplitValues;
    . F0 Z( b2 P2 ?2 @2 A
  6.         getSplitValues.clear();
    " G# d% ^  `, |, d, r  c9 v7 t: H% x
  7.         //Echo("%s", inputScopeStr.c_str());1 f2 B( _" m; V' h7 b& C* b
  8.         string tempStr("");5 ?2 V: y  V) B( g% s( B# z
  9.         if (inputScopeStr.size() > 1 && inputScopeStr.find('~'))
    4 U7 n6 F$ `7 L3 a6 r% Y
  10.         {
    + L' X9 I) C/ w  D0 h( Y
  11.                 char getStarTC = inputScopeStr.at(0);. H! E2 Q5 S% s9 o2 f; i' p$ N/ \5 O
  12.                 char getEndC = inputScopeStr.at(2);5 O6 q( ~2 V: }& q
  13.                 char tempC = getStartC;! J$ K/ ~7 y/ m: o4 Z: s1 R
  14.                 while (tempC >= getStartC && tempC <= getEndC)
    : A7 B# u  `2 y: [& S, f" `; T
  15.                 {4 i0 f& ^! V( F  _7 [
  16.                         tempStr = std::string(1, tempC);
    / A4 e: _+ i* l8 \4 w
  17.                         getSplitValues.push_back(tempStr.c_str());+ l9 H2 m/ s( @$ Z8 n
  18.                         tempC++;
    * q6 A; A+ S4 p) G5 F0 V3 Q' ]5 p
  19.                 }
    9 b9 }  s: |( Y( E/ @8 l5 @
  20.         }$ B* ]5 @  M4 J6 }0 s( L  L
  21.         else
    ' H: X: s+ {; T1 A8 v, J: c7 I/ @
  22.         {+ u  ]* C/ H: S( T4 E+ K, {) `
  23.                 tempStr = std::string(1, inputScopeStr.at(0));
    % v5 s% H& B5 Z

  24. 8 ^% u$ _. o! W" i8 F8 K
  25.                 //Echo("%s", tempStr.c_str());- B8 Q$ {+ ]" P2 V- @: a

  26. 1 E3 Z) c( I) p% {! s
  27.                 getSplitValues.push_back(tempStr);" m* S6 n3 R1 V. b
  28.         }7 L# F2 A6 U& [/ |8 a9 B

  29. + j- c( }; `% r' A
  30.         return getSplitValues;
    " c4 N  j4 a* ?( z/ T) D5 z
  31. }0 U$ y% a2 y! k
复制代码
3 ^* b" {: e+ X- s: k7 |% h

6 s: G  g) a' f: Z/ s) ^
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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