查看: 1991|回复: 0

string的find和find_first_of的区别

[复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2020-3-19 19:49:22 | 显示全部楼层 |阅读模式

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

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

×
" K% [9 v2 u' E6 S* z5 M
; D" M! q6 J, p" q% @& l
如果需要全字符串匹配,用Find$ @" Q) S, V) g6 L
6 M( H$ U6 z6 K1 J3 S. ~
8 n0 O+ j8 q) k% k
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。# A; B# {  r/ E9 \  t2 M+ k) H8 x% r0 o

: [8 q* _' f  o( |1 {- N现将find和find_first_of的区别与几种使用形式介绍如下3 U2 d3 y) B  w8 q; z7 j$ V
% I2 ?7 v, C* J$ O+ H
find是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
; V4 \% e2 ?/ d. h/ s2 [# N1 c, {6 F6 \' N7 ?0 B1 l& v* u) v3 C
find有四种使用形式。0 u9 \, L4 G# O$ u
$ M1 I! [8 c7 t& i0 L( Z/ R5 A
1、size_type find(const basic_string& str, size_type pos = 0) const;% v5 |( Q/ h4 y8 ^  a& k7 d! ?
+ {5 D7 ^7 a  C4 f! z
表示 从pos位置开始找子字符串str; E2 r) X! S" a6 c/ y) d

9 l* _+ o; ?( W! E7 d0 M2、size_type find(const char* s, size_type pos, size_type count)const;
& z( u) Z: {; k. n9 ?) p* I: k+ n
8 f5 V5 s( h! B( C1 N0 A6 W从pos位置开始找到与字符串s的前count个字符相等的子串: p5 R0 E( s4 q3 C) }: \8 g: t
% ], l! M/ L7 x
3、size_type find(const char* s, size_type pos = 0)const;! j! C2 t, m% l  _/ P# p

5 i: W( e$ x- R4 @1 n从pos位置开始找与字符串s相等的子串
/ J/ X$ T! V8 {( i: I7 t" f* w5 X% n. y# T' X
4、size_type find(char ch, size_type pos = 0) const;
. z8 e4 T, O- p! C, S1 P4 T0 F$ z- n8 d5 D- p
从pos位置开始找字符ch。
0 _3 p0 a  f! ], Q; ~' M* D3 S( ^2 C3 \

! D! H! E1 z5 z" C7 c- H
6 v4 s  z0 W; G  }5 y  `0 a. Vfind_first_of的四种形式
, a- d' {: ?9 \2 a. v2 S2 T
  V% _& _! ^% ?3 Q/ Z1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;% h# V7 U/ G: ]- M  m% i# R. U) O3 w
8 x" z8 _& W4 J, `( A5 P6 \
从pos位置开始找到第一个与str中任意一个字符相等的字符
  f" \% A- {4 x3 ]& n; F) @2 Y9 q. @4 X7 k* u  f
2、size_type find_first_of(const char*s, size_type pos, size_type count)const;$ |* ?+ O% |' v) c% Y9 \/ _% t
4 P* b! S. A; L5 S' c
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
8 w, G6 S2 S1 t0 c1 @' g1 X( F. K1 J% S& }
3、size_type find_first_of(const char* s, size_type pos = 0)const;, N9 g5 i" [- t0 h0 u
& C- n0 _# f: w+ s( H
从pos位置开始找到第一个与s中的任意一个字符相等的字符
3 `. [: {" [' N3 I( w) x5 C- k' ^5 m1 g0 ~  J3 U
4、size_type find_first_of(char ch, size_type pos = 0)const;" M8 w" j% V( C) c0 [+ q" Z* ^1 \

# P6 h8 T  Z/ g, u$ k从pos位置开始找到第一个等于ch的字符。, _  @+ k- f8 J8 ?, k* A/ W% n% f

' ^; O) F; X+ S3 i2 z* E
6 Q) M* V( D- E+ u6 p+ F# @
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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