查看: 1045|回复: 2

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

  [复制链接]

4

主题

3

回帖

44

积分

管理员

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

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

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

×
; K8 Q3 ~, _: d+ F

9 H6 n* W+ c- a2 s" i, P% ?4 ^一种字符串分割,直接应对数值范围的方式 XX~ XX 分解
+ G0 w5 t' g# \* F, C9 D; e3 t
7 [9 W( p- P& Y. Q; s
  1. # m. X0 J0 o; L

  2. $ G5 |7 R0 D. S' g# N- X
  3. std::vector<NXOpen::NXString> getScopeLetterStringElements(string inputScopeStr)
    8 k7 {$ q% \, O7 Z% `4 b! E
  4. {
    % `+ \! B( }6 C$ A8 r9 l
  5.         vector<NXString> getSplitValues;
    ! h) |# l2 V0 U( a
  6.         getSplitValues.clear();  q6 t" W% [5 n3 L: C: L
  7.         //Echo("%s", inputScopeStr.c_str());
    - c0 ]5 P: X/ A
  8.         string tempStr("");
    & i; G* a* V$ L5 P' V: D
  9.         if (inputScopeStr.size() > 1 && inputScopeStr.find('~'))
    ! [6 C9 ^/ ?4 n/ P0 V$ ?* k6 f+ V
  10.         {
    " ?  }; \% k  G  @3 r4 J1 {1 R; I9 |
  11.                 char getStarTC = inputScopeStr.at(0);9 o4 D3 N# f' `; @
  12.                 char getEndC = inputScopeStr.at(2);
    # |" E9 c! n9 H+ C7 v' v( m- k
  13.                 char tempC = getStartC;5 T0 c! s5 X+ z8 @/ @  A. Y
  14.                 while (tempC >= getStartC && tempC <= getEndC)- X( s/ ?8 _% v: c
  15.                 {/ p7 b6 ?- l0 W; ~0 o" e- I. E
  16.                         tempStr = std::string(1, tempC);
    9 C; P$ g, ^- I7 c$ G
  17.                         getSplitValues.push_back(tempStr.c_str());
      Z$ O7 U# G: o. A/ a" }
  18.                         tempC++;
    2 L  g' c2 R# _& |, O* C: A
  19.                 }6 B; @. \3 D. M. t" d+ ~$ v% S
  20.         }# S4 {/ z' }6 C. w3 E# W
  21.         else8 T* }  \8 n' o! r" g; L4 B
  22.         {
    1 _( D0 q# [4 g. M/ n0 \
  23.                 tempStr = std::string(1, inputScopeStr.at(0));9 D' X9 Y$ o" h( P9 I0 _
  24. 6 d, K) r. p8 b- R2 U
  25.                 //Echo("%s", tempStr.c_str());: m* B( d5 r; q1 |+ f
  26. ; O6 o) N- Z% b5 ~
  27.                 getSplitValues.push_back(tempStr);+ u' V8 ^/ M. ?4 {( e4 K9 X9 x
  28.         }8 k/ Z) m3 p# q8 E4 C3 c

  29. 1 N3 [, x9 N* [* h9 D3 t
  30.         return getSplitValues;$ X9 P( t% U& R4 O) t
  31. }
    & {3 K# l' R& G
复制代码

/ k9 c- S0 D3 h6 t/ D" N' I
9 M5 {% X' N9 H" Z+ A& `& Z
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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