@@ -640,17 +640,20 @@ impl str {
640640 ///
641641 /// let v: Vec<&str> = "lion::tiger::leopard".split("::").collect();
642642 /// assert_eq!(v, ["lion", "tiger", "leopard"]);
643- /// ```
644- ///
645- /// More complex patterns with closures:
646643 ///
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();
649645 /// assert_eq!(v, ["abc", "def", "ghi"]);
650646 ///
651647 /// let v: Vec<&str> = "lionXtigerXleopard".split(char::is_uppercase).collect();
652648 /// assert_eq!(v, ["lion", "tiger", "leopard"]);
653649 /// ```
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+ /// ```
654657 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
655658 pub fn split < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> Split < ' a , P > {
656659 core_str:: StrExt :: split ( & self [ ..] , pat)
@@ -691,14 +694,11 @@ impl str {
691694 /// assert_eq!(v, ["leopard", "tiger", "lion"]);
692695 /// ```
693696 ///
694- /// More complex patterns with closures :
697+ /// A more complex pattern, using a closure :
695698 ///
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();
698701 /// 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"]);
702702 /// ```
703703 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
704704 pub fn rsplit < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> RSplit < ' a , P >
@@ -733,22 +733,13 @@ impl str {
733733 ///
734734 /// # Examples
735735 ///
736- /// Simple patterns:
737- ///
738736 /// ```
739737 /// let v: Vec<&str> = "A.B.".split_terminator('.').collect();
740738 /// assert_eq!(v, ["A", "B"]);
741739 ///
742740 /// let v: Vec<&str> = "A..B..".split_terminator(".").collect();
743741 /// assert_eq!(v, ["A", "", "B", ""]);
744742 /// ```
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- /// ```
752743 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
753744 pub fn split_terminator < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> SplitTerminator < ' a , P > {
754745 core_str:: StrExt :: split_terminator ( & self [ ..] , pat)
@@ -778,22 +769,13 @@ impl str {
778769 ///
779770 /// # Examples
780771 ///
781- /// Simple patterns:
782- ///
783772 /// ```
784773 /// let v: Vec<&str> = "A.B.".rsplit_terminator('.').collect();
785774 /// assert_eq!(v, ["B", "A"]);
786775 ///
787776 /// let v: Vec<&str> = "A..B..".rsplit_terminator(".").collect();
788777 /// assert_eq!(v, ["", "B", "", "A"]);
789778 /// ```
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- /// ```
797779 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
798780 pub fn rsplit_terminator < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> RSplitTerminator < ' a , P >
799781 where P :: Searcher : ReverseSearcher < ' a >
@@ -837,11 +819,11 @@ impl str {
837819 /// assert_eq!(v, [""]);
838820 /// ```
839821 ///
840- /// More complex patterns with closures :
822+ /// A more complex pattern, using a closure :
841823 ///
842824 /// ```
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 "]);
845827 /// ```
846828 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
847829 pub fn splitn < ' a , P : Pattern < ' a > > ( & ' a self , count : usize , pat : P ) -> SplitN < ' a , P > {
@@ -882,10 +864,10 @@ impl str {
882864 /// assert_eq!(v, ["leopard", "lion::tiger"]);
883865 /// ```
884866 ///
885- /// More complex patterns with closures :
867+ /// A more complex pattern, using a closure :
886868 ///
887869 /// ```
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();
889871 /// assert_eq!(v, ["ghi", "abc1def"]);
890872 /// ```
891873 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
@@ -920,7 +902,7 @@ impl str {
920902 /// let v: Vec<&str> = "abcXXXabcYYYabc".matches("abc").collect();
921903 /// assert_eq!(v, ["abc", "abc", "abc"]);
922904 ///
923- /// let v: Vec<&str> = "1abc2abc3".matches(|c: char| c. is_numeric() ).collect();
905+ /// let v: Vec<&str> = "1abc2abc3".matches(char:: is_numeric).collect();
924906 /// assert_eq!(v, ["1", "2", "3"]);
925907 /// ```
926908 #[ unstable( feature = "collections" ,
@@ -953,7 +935,7 @@ impl str {
953935 /// let v: Vec<&str> = "abcXXXabcYYYabc".rmatches("abc").collect();
954936 /// assert_eq!(v, ["abc", "abc", "abc"]);
955937 ///
956- /// let v: Vec<&str> = "1abc2abc3".rmatches(|c: char| c. is_numeric() ).collect();
938+ /// let v: Vec<&str> = "1abc2abc3".rmatches(char:: is_numeric).collect();
957939 /// assert_eq!(v, ["3", "2", "1"]);
958940 /// ```
959941 #[ unstable( feature = "collections" ,
@@ -1199,15 +1181,16 @@ impl str {
11991181 ///
12001182 /// ```
12011183 /// assert_eq!("11foo1bar11".trim_matches('1'), "foo1bar");
1184+ /// assert_eq!("123foo1bar123".trim_matches(char::is_numeric), "foo1bar");
12021185 ///
12031186 /// let x: &[_] = &['1', '2'];
12041187 /// assert_eq!("12foo1bar12".trim_matches(x), "foo1bar");
12051188 /// ```
12061189 ///
1207- /// More complex patterns with closures :
1190+ /// A more complex pattern, using a closure :
12081191 ///
12091192 /// ```
1210- /// assert_eq!("123foo1bar123 ".trim_matches(|c: char| c.is_numeric() ), "foo1bar");
1193+ /// assert_eq!("1foo1barXX ".trim_matches(|c| c == '1' || c == 'X' ), "foo1bar");
12111194 /// ```
12121195 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
12131196 pub fn trim_matches < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> & ' a str
@@ -1224,20 +1207,13 @@ impl str {
12241207 ///
12251208 /// # Examples
12261209 ///
1227- /// Simple patterns:
1228- ///
12291210 /// ```
12301211 /// assert_eq!("11foo1bar11".trim_left_matches('1'), "foo1bar11");
1212+ /// assert_eq!("123foo1bar123".trim_left_matches(char::is_numeric), "foo1bar123");
12311213 ///
12321214 /// let x: &[_] = &['1', '2'];
12331215 /// assert_eq!("12foo1bar12".trim_left_matches(x), "foo1bar12");
12341216 /// ```
1235- ///
1236- /// More complex patterns with closures:
1237- ///
1238- /// ```
1239- /// assert_eq!("123foo1bar123".trim_left_matches(|c: char| c.is_numeric()), "foo1bar123");
1240- /// ```
12411217 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
12421218 pub fn trim_left_matches < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> & ' a str {
12431219 core_str:: StrExt :: trim_left_matches ( & self [ ..] , pat)
@@ -1255,14 +1231,16 @@ impl str {
12551231 ///
12561232 /// ```
12571233 /// assert_eq!("11foo1bar11".trim_right_matches('1'), "11foo1bar");
1234+ /// assert_eq!("123foo1bar123".trim_right_matches(char::is_numeric), "123foo1bar");
1235+ ///
12581236 /// let x: &[_] = &['1', '2'];
12591237 /// assert_eq!("12foo1bar12".trim_right_matches(x), "12foo1bar");
12601238 /// ```
12611239 ///
1262- /// More complex patterns with closures :
1240+ /// A more complex pattern, using a closure :
12631241 ///
12641242 /// ```
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 ");
12661244 /// ```
12671245 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
12681246 pub fn trim_right_matches < ' a , P : Pattern < ' a > > ( & ' a self , pat : P ) -> & ' a str
@@ -1499,7 +1477,7 @@ impl str {
14991477 /// ```
15001478 /// let s = "Löwe 老虎 Léopard";
15011479 ///
1502- /// assert_eq!(s.find(|c: char| c. is_whitespace() ), Some(5));
1480+ /// assert_eq!(s.find(char:: is_whitespace), Some(5));
15031481 /// assert_eq!(s.find(char::is_lowercase), Some(1));
15041482 /// ```
15051483 ///
@@ -1541,7 +1519,7 @@ impl str {
15411519 /// ```
15421520 /// let s = "Löwe 老虎 Léopard";
15431521 ///
1544- /// assert_eq!(s.rfind(|c: char| c. is_whitespace() ), Some(12));
1522+ /// assert_eq!(s.rfind(char:: is_whitespace), Some(12));
15451523 /// assert_eq!(s.rfind(char::is_lowercase), Some(20));
15461524 /// ```
15471525 ///
0 commit comments