PLM之家PLMHome-国产软件践行者

string的find和find_first_of的区别

[复制链接]

2020-3-19 19:49:22 1578 0

admin 发表于 2020-3-19 19:49:22 |阅读模式

admin 楼主

2020-3-19 19:49:22

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

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

x
6 |4 ~7 `+ x0 Y

6 o0 [9 A# ^% E6 Q: `4 {如果需要全字符串匹配,用Find
& q3 \( p, G4 H; `, ~2 L8 M( J, G, V! R; J7 N2 U  P/ [& O

$ `- _: W: ]3 z/ S/ V/ Q今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
* |( s+ ^" ?+ F7 a0 T0 F8 H6 p8 A5 l7 e% }8 s+ I- c
现将find和find_first_of的区别与几种使用形式介绍如下
) B7 E* Z$ d# a: ^: M9 v# U1 Z& D8 B9 V' h, `1 J3 d
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。) |0 Z' D5 m8 r5 U6 T4 U
5 l4 }. y, O- `3 [3 f3 \5 b* A2 U; d
find有四种使用形式。7 B+ n6 }$ @9 h  C8 n$ ~
* \# l5 k# a# T( }
1、size_type find(const basic_string& str, size_type pos = 0) const;
5 Z5 v& [" e* F0 t
  l( X& O# {: O8 e, @; O+ A表示 从pos位置开始找子字符串str
% e$ s7 y* r4 |9 j% F$ {8 m  P5 Q0 |' x* ^
2、size_type find(const char* s, size_type pos, size_type count)const;, T! f. }6 h! }
3 v  |* w( {, X0 e/ m) x$ O
从pos位置开始找到与字符串s的前count个字符相等的子串
' J/ ^" c- i0 ^( y2 J
" [8 j; J  `; C1 s$ D3、size_type find(const char* s, size_type pos = 0)const;, b$ Q* l6 H' U, h: u- \
5 ^8 |/ q* \" i
从pos位置开始找与字符串s相等的子串
' k1 P2 n) ]& K0 f9 E" v# p& ^/ w9 E  H' l
4、size_type find(char ch, size_type pos = 0) const;0 Q8 j$ i: h2 h) b' j

4 k/ h* m1 M9 k3 p2 R从pos位置开始找字符ch。* h* g; R' k6 s% }5 }  ]

# \8 s8 r: P1 Y0 e" o+ x: L/ k& ^0 p, @. U& Z

1 s3 q, x" g9 h: X" W+ Q( T, \! {+ {" hfind_first_of的四种形式
4 q! ^* {: ?- }& d3 E
; ?" |5 L3 [2 n  m& U1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;8 q8 E8 _9 _- ]! E* k( ~) a- t, a

. H3 G+ x5 L8 @1 v, G8 I0 w+ v从pos位置开始找到第一个与str中任意一个字符相等的字符
6 c( Q* C" b# P1 W8 x$ U  S& Y! C4 K% W6 ~5 `+ o& n; {
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;
( ^! B! N! ?- |- O2 J4 F6 V  G
+ N) D. g% W9 L$ @! V/ ^从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
$ t" F! L( ~1 v+ ~, {5 K8 B. P. w) J) O
3、size_type find_first_of(const char* s, size_type pos = 0)const;/ t& J* G- @9 V- E3 X9 O

! E1 j  Y! |+ F/ Z2 k. |+ ?2 F7 u从pos位置开始找到第一个与s中的任意一个字符相等的字符
/ z- `4 Q% y+ d! a' M7 X3 L) W! l7 ^/ \
4、size_type find_first_of(char ch, size_type pos = 0)const;4 ~  X) R5 n5 G" e; A5 n9 y
( N0 ?' |4 g; }$ p
从pos位置开始找到第一个等于ch的字符。$ D6 ^& w4 x" J# \( h
% b5 {: C; y+ V; T  a# ]7 x: I4 H* w
) F( `5 A4 T5 ^" u, z1 b" u" y
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了