@@ -640,17 +640,20 @@ impl str {
640
640
///
641
641
/// let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
642
642
/// assert_eq!(v, ["lion", "tiger", "leopard"]);
643
- /// ```
644
- ///
645
- /// More complex patterns with closures:
646
643
///
647
- /// ```
648
- /// let v: Vec<&str> = "abc1def2ghi".split(|c: char| c.is_numeric()).collect();
644
+ /// let v: Vec<&str> = "abc1def2ghi".split(char::is_numeric).collect();
649
645
/// assert_eq!(v, ["abc", "def", "ghi"]);
650
646
///
651
647
/// let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
652
648
/// assert_eq!(v, ["lion", "tiger", "leopard"]);
653
649
/// ```
650
+ ///
651
+ /// A more complex pattern, using a closure:
652
+ ///
653
+ /// ```
654
+ /// let v: Vec<&str> = "abc1defXghi".split(|c| c == '1' || c == 'X').collect();
655
+ /// assert_eq!(v, ["abc", "def", "ghi"]);
656
+ /// ```
654
657
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
655
658
pub fn split < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> Split < ' a , P > {
656
659
core_str:: StrExt :: split ( & self [ ..] , pat)
@@ -691,14 +694,11 @@ impl str {
691
694
/// assert_eq!(v, ["leopard", "tiger", "lion"]);
692
695
/// ```
693
696
///
694
- /// More complex patterns with closures :
697
+ /// A more complex pattern, using a closure :
695
698
///
696
- /// ```rust
697
- /// let v: Vec<&str> = "abc1def2ghi ".rsplit(|c: char| c.is_numeric() ).collect();
699
+ /// ```
700
+ /// let v: Vec<&str> = "abc1defXghi ".rsplit(|c| c == '1' || c == 'X' ).collect();
698
701
/// assert_eq!(v, ["ghi", "def", "abc"]);
699
- ///
700
- /// let v: Vec<&str> = "lionXtigerXleopard".rsplit(char::is_uppercase).collect();
701
- /// assert_eq!(v, ["leopard", "tiger", "lion"]);
702
702
/// ```
703
703
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
704
704
pub fn rsplit < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> RSplit < ' a , P >
@@ -733,22 +733,13 @@ impl str {
733
733
///
734
734
/// # Examples
735
735
///
736
- /// Simple patterns:
737
- ///
738
736
/// ```
739
737
/// let v: Vec<&str> = "A.B.".split_terminator('.').collect();
740
738
/// assert_eq!(v, ["A", "B"]);
741
739
///
742
740
/// let v: Vec<&str> = "A..B..".split_terminator(".").collect();
743
741
/// assert_eq!(v, ["A", "", "B", ""]);
744
742
/// ```
745
- ///
746
- /// More complex patterns with closures:
747
- ///
748
- /// ```
749
- /// let v: Vec<&str> = "abc1def2ghi3".split_terminator(|c: char| c.is_numeric()).collect();
750
- /// assert_eq!(v, ["abc", "def", "ghi"]);
751
- /// ```
752
743
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
753
744
pub fn split_terminator < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> SplitTerminator < ' a , P > {
754
745
core_str:: StrExt :: split_terminator ( & self [ ..] , pat)
@@ -778,22 +769,13 @@ impl str {
778
769
///
779
770
/// # Examples
780
771
///
781
- /// Simple patterns:
782
- ///
783
772
/// ```
784
773
/// let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
785
774
/// assert_eq!(v, ["B", "A"]);
786
775
///
787
776
/// let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
788
777
/// assert_eq!(v, ["", "B", "", "A"]);
789
778
/// ```
790
- ///
791
- /// More complex patterns with closures:
792
- ///
793
- /// ```
794
- /// let v: Vec<&str> = "abc1def2ghi3".rsplit_terminator(|c: char| c.is_numeric()).collect();
795
- /// assert_eq!(v, ["ghi", "def", "abc"]);
796
- /// ```
797
779
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
798
780
pub fn rsplit_terminator < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> RSplitTerminator < ' a , P >
799
781
where P :: Searcher : ReverseSearcher < ' a >
@@ -837,11 +819,11 @@ impl str {
837
819
/// assert_eq!(v, [""]);
838
820
/// ```
839
821
///
840
- /// More complex patterns with closures :
822
+ /// A more complex pattern, using a closure :
841
823
///
842
824
/// ```
843
- /// let v: Vec<&str> = "abc1def2ghi ".splitn(2, |c: char| c.is_numeric() ).collect();
844
- /// assert_eq!(v, ["abc", "def2ghi "]);
825
+ /// let v: Vec<&str> = "abc1defXghi ".splitn(2, |c| c == '1' || c == 'X' ).collect();
826
+ /// assert_eq!(v, ["abc", "defXghi "]);
845
827
/// ```
846
828
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
847
829
pub fn splitn < ' a , P : Pattern < ' a > > ( & ' a self , count : usize , pat : P ) -> SplitN < ' a , P > {
@@ -882,10 +864,10 @@ impl str {
882
864
/// assert_eq!(v, ["leopard", "lion::tiger"]);
883
865
/// ```
884
866
///
885
- /// More complex patterns with closures :
867
+ /// A more complex pattern, using a closure :
886
868
///
887
869
/// ```
888
- /// let v: Vec<&str> = "abc1def2ghi ".rsplitn(2, |c: char| c.is_numeric() ).collect();
870
+ /// let v: Vec<&str> = "abc1defXghi ".rsplitn(2, |c| c == '1' || c == 'X' ).collect();
889
871
/// assert_eq!(v, ["ghi", "abc1def"]);
890
872
/// ```
891
873
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -920,7 +902,7 @@ impl str {
920
902
/// let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
921
903
/// assert_eq!(v, ["abc", "abc", "abc"]);
922
904
///
923
- /// let v: Vec<&str> = "1abc2abc3".matches(|c: char| c. is_numeric() ).collect();
905
+ /// let v: Vec<&str> = "1abc2abc3".matches(char:: is_numeric).collect();
924
906
/// assert_eq!(v, ["1", "2", "3"]);
925
907
/// ```
926
908
#[ unstable( feature = "collections" ,
@@ -953,7 +935,7 @@ impl str {
953
935
/// let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
954
936
/// assert_eq!(v, ["abc", "abc", "abc"]);
955
937
///
956
- /// let v: Vec<&str> = "1abc2abc3".rmatches(|c: char| c. is_numeric() ).collect();
938
+ /// let v: Vec<&str> = "1abc2abc3".rmatches(char:: is_numeric).collect();
957
939
/// assert_eq!(v, ["3", "2", "1"]);
958
940
/// ```
959
941
#[ unstable( feature = "collections" ,
@@ -1199,15 +1181,16 @@ impl str {
1199
1181
///
1200
1182
/// ```
1201
1183
/// assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
1184
+ /// assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
1202
1185
///
1203
1186
/// let x: &[_] = &['1', '2'];
1204
1187
/// assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
1205
1188
/// ```
1206
1189
///
1207
- /// More complex patterns with closures :
1190
+ /// A more complex pattern, using a closure :
1208
1191
///
1209
1192
/// ```
1210
- /// assert_eq!("123foo1bar123 ".trim_matches(|c: char| c.is_numeric() ), "foo1bar");
1193
+ /// assert_eq!("1foo1barXX ".trim_matches(|c| c == '1' || c == 'X' ), "foo1bar");
1211
1194
/// ```
1212
1195
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
1213
1196
pub fn trim_matches < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> & ' a str
@@ -1224,20 +1207,13 @@ impl str {
1224
1207
///
1225
1208
/// # Examples
1226
1209
///
1227
- /// Simple patterns:
1228
- ///
1229
1210
/// ```
1230
1211
/// assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
1212
+ /// assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
1231
1213
///
1232
1214
/// let x: &[_] = &['1', '2'];
1233
1215
/// assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
1234
1216
/// ```
1235
- ///
1236
- /// More complex patterns with closures:
1237
- ///
1238
- /// ```
1239
- /// assert_eq!("123foo1bar123".trim_left_matches(|c: char| c.is_numeric()), "foo1bar123");
1240
- /// ```
1241
1217
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
1242
1218
pub fn trim_left_matches < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> & ' a str {
1243
1219
core_str:: StrExt :: trim_left_matches ( & self [ ..] , pat)
@@ -1255,14 +1231,16 @@ impl str {
1255
1231
///
1256
1232
/// ```
1257
1233
/// assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
1234
+ /// assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
1235
+ ///
1258
1236
/// let x: &[_] = &['1', '2'];
1259
1237
/// assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
1260
1238
/// ```
1261
1239
///
1262
- /// More complex patterns with closures :
1240
+ /// A more complex pattern, using a closure :
1263
1241
///
1264
1242
/// ```
1265
- /// assert_eq!("123foo1bar123".trim_right_matches (|c: char| c.is_numeric()) , "123foo1bar ");
1243
+ /// assert_eq!("1fooX".trim_left_matches (|c| c == '1' || c == 'X') , "fooX ");
1266
1244
/// ```
1267
1245
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
1268
1246
pub fn trim_right_matches < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> & ' a str
@@ -1499,7 +1477,7 @@ impl str {
1499
1477
/// ```
1500
1478
/// let s = "Löwe 老虎 Léopard";
1501
1479
///
1502
- /// assert_eq!(s.find(|c: char| c. is_whitespace() ), Some(5));
1480
+ /// assert_eq!(s.find(char:: is_whitespace), Some(5));
1503
1481
/// assert_eq!(s.find(char::is_lowercase), Some(1));
1504
1482
/// ```
1505
1483
///
@@ -1541,7 +1519,7 @@ impl str {
1541
1519
/// ```
1542
1520
/// let s = "Löwe 老虎 Léopard";
1543
1521
///
1544
- /// assert_eq!(s.rfind(|c: char| c. is_whitespace() ), Some(12));
1522
+ /// assert_eq!(s.rfind(char:: is_whitespace), Some(12));
1545
1523
/// assert_eq!(s.rfind(char::is_lowercase), Some(20));
1546
1524
/// ```
1547
1525
///
0 commit comments