|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& D. S2 ]& N! n
1 V5 e9 e, ^, W7 Y如果需要全字符串匹配,用Find5 Q! L- B, Q& m L
, |3 X8 t% B3 C- q8 p+ X# N P1 W; H1 m8 W' i
今天遇到个bUG,原来是在查找子串时调用了find_first_of,导致字符串替换出现问题。
2 k# [' ~5 i9 K/ r% I
3 b' z% O# O6 f现将find和find_first_of的区别与几种使用形式介绍如下: [/ A$ n, Z+ `5 N* H
" _* K8 b. F v5 D5 f$ Cfind是查找子串,而find_first_of类似于模式匹配,只要与其中的一个字符匹配就行。
! L/ W; u4 N# [ g2 \
6 \ f7 \2 H9 k9 m# W8 {find有四种使用形式。1 W/ ~4 m) b8 k" r& t) u# n" S! y" T
8 q7 I1 p$ i" c; X5 k, o1、size_type find(const basic_string& str, size_type pos = 0) const;
. d9 ?& p7 S+ @2 s) Y) Z7 U$ }( S( h3 e- [# z/ C. L+ G2 s4 [
表示 从pos位置开始找子字符串str R% F! `. ]- ~' T" Q
! V% B& O+ G+ r; `0 Q2 b2、size_type find(const char* s, size_type pos, size_type count)const;
4 W# W: L0 B [, {3 b4 ]! O# B) j- s h
从pos位置开始找到与字符串s的前count个字符相等的子串
" M5 c# I" T& Z+ r1 j* F+ d4 L o$ \3 n" A, z3 i$ a' Z
3、size_type find(const char* s, size_type pos = 0)const;. _' H6 q) d' q
% Z. U/ G9 L( g. F) @
从pos位置开始找与字符串s相等的子串
. a: h$ r6 K& T7 O$ | @' V) H! F( B4 @3 P4 [, ?& x1 T8 e: R" d' b
4、size_type find(char ch, size_type pos = 0) const;& B% Z1 D7 }! [
/ M$ R) t0 z! Y2 t1 }
从pos位置开始找字符ch。* Y2 E# V# d7 z, d9 `( R
2 Q0 d0 G' }: [# a
2 _/ p' o1 \9 B# Q
8 M2 M/ d) u3 f: u4 i9 U( z5 a
find_first_of的四种形式4 t6 J! E: ]" I6 }( I$ r# I
1 O- i% r9 r" F3 {+ H0 Z1、size_type find_first_of(const basic_string& str, size_type pos = 0)const;
4 J8 t' u. C ?1 e _ L; l+ B8 g4 b+ S6 T8 T8 X- b
从pos位置开始找到第一个与str中任意一个字符相等的字符
) N6 q" c7 Q1 X* M
8 A1 G1 ~, [$ B% b2 p( |- u9 B1 L2、size_type find_first_of(const char*s, size_type pos, size_type count)const;/ g6 ^) U# p6 K H( B& K7 N9 b
6 o8 _1 l a; c5 p( d
从pos位置开始找到第一个与str的前count中的任意一个字符相等的字符
, k; i9 Z; r! O% ], a5 W L4 _7 j7 n" c! P9 \
3、size_type find_first_of(const char* s, size_type pos = 0)const;
, s) s+ q+ z9 F6 ?
' _" `: i# D" }7 F0 \从pos位置开始找到第一个与s中的任意一个字符相等的字符/ U/ K1 k) \, t3 ]3 J6 F5 A
, F( G+ I4 Z& R- M) F3 `1 d
4、size_type find_first_of(char ch, size_type pos = 0)const;
9 r9 r# h8 t3 @, M% H, L5 }- g& \8 t$ P y& [
从pos位置开始找到第一个等于ch的字符。( n6 V# l R" n2 w3 e: h [5 \
S) F* ?1 @, }8 L; M; T F5 b
" r- j4 ^( a/ z' A1 C
|
|