|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
- R( M+ b. l" j
$ @; E+ r% b1 n I5 V& n如果需要全字符串匹配,用Find
t% K7 n, i: e+ ?# y+ r
2 x. \4 _- x" x' y/ e( w, _' \
% ?9 y+ D& ~# n- \- h7 Y: O) @1 y今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
7 {! h+ i3 K k5 k, Z* y1 z. R" x+ n- N8 B3 H8 S
现将find和find_first_of的区别与几种使用形式介绍如下
9 K! K/ g( s8 @9 t" S
0 ^0 B9 E- U9 mfind是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
7 F1 v6 O7 V; J+ F8 i& ^2 m T- i% Q* W& P( A
find有四种使用形式。1 o. c* A( m8 U& f7 c' f0 y: B
* }+ i) v# U9 J4 q3 G# F, P1、size_type find(const basic_string& str, size_type pos = 0) const;
! E9 c) q* C3 k0 n' c: s
6 g! D0 j1 x: G表示 从pos位置开始找子字符串str
, I. q; X1 q; Q8 _* l: Q/ x$ x* M$ Z" [9 j5 @
2、size_type find(const char* s, size_type pos, size_type count)const;1 g. Y& x# I* o! @' y* x
, w2 m9 v& Y* e
从pos位置开始找到与字符串s的前count个字符相等的子串
, ?- n6 p% z7 R) R: ?4 l( J0 v8 W5 B" _0 m
3、size_type find(const char* s, size_type pos = 0)const;) t; W1 G- a/ y9 J- W8 t
. z1 v9 F2 a; f s. H: ~从pos位置开始找与字符串s相等的子串
W$ t2 Z$ C6 N( p* Z
! l' g4 ?/ m4 w4、size_type find(char ch, size_type pos = 0) const;+ o% N+ m. p q2 i6 s7 O) g- q/ J
P* V$ i1 v0 \# {
从pos位置开始找字符ch。( a2 L' j: C# Y. [% g
1 `2 b" Y/ W# J
4 e0 m7 E5 a0 u7 k1 x* Z
; n: ~9 _5 `6 F% Pfind_first_of的四种形式
* U$ L+ q9 F v& S$ f8 x& z
$ u5 i/ {9 u! ~) P9 W2 B" a1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;- M) T# P( E) r( g1 v/ |
. C5 {- E. Y- E$ x+ H从pos位置开始找到第一个与str中任意一个字符相等的字符 m3 X& w$ q" N, Q; v) x# M
% o- v- p" H# }( a, M2、size_type find_first_of(const char*s, size_type pos, size_type count)const;5 ?) B4 t$ y* J+ v$ ~# ?$ Z4 h4 W
5 L! x# K0 L. \3 e- H6 I; R# s
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
9 i( q- ^" b9 ], B/ {3 l \: r
% i% m4 e% X5 Q5 _. {3 B3、size_type find_first_of(const char* s, size_type pos = 0)const;" a# F' ~0 t9 E% t# J7 S
/ Q2 Y' r8 N: f+ b' i
从pos位置开始找到第一个与s中的任意一个字符相等的字符3 G$ Y4 ?8 d9 {) L3 V
. W. K. y& u$ z! f, C& u# `. _4、size_type find_first_of(char ch, size_type pos = 0)const;
8 D1 C/ m7 H( C+ C. j+ x" c. J3 O) `, ~/ |5 ]: r
从pos位置开始找到第一个等于ch的字符。
~6 W* A2 D# ^
; l# U: X) X \7 l" M( f
0 |5 _, u# ? C9 `! r; K6 j: N |
|