Rollup merge of #33893 - Ophirr33:docs_string_split_fix, r=GuillaumeGomez
Added examples/docs to split in str.rs Added documentation clarifying the behavior of split when used with the empty string and contiguous separators. Addresses issue [33882](https://github.com/rust-lang/rust/issues/33882). This is my first time contributing to rust, so forgive me if I'm skipping any of the contribution steps. Fixes #33882
This commit is contained in:
commit
400b9b3242
@ -1097,8 +1097,34 @@ pub fn rfind<'a, P: Pattern<'a>>(&'a self, pat: P) -> Option<usize>
|
||||
/// assert_eq!(d, &["", "", "", "", "a", "", "b", "c"]);
|
||||
/// ```
|
||||
///
|
||||
/// This can lead to possibly surprising behavior when whitespace is used
|
||||
/// as the separator. This code is correct:
|
||||
/// Contiguous separators are separated by the empty string.
|
||||
///
|
||||
/// ```
|
||||
/// let x = "(///)".to_string();
|
||||
/// let d: Vec<_> = x.split('/').collect();;
|
||||
///
|
||||
/// assert_eq!(d, &["(", "", "", ")"]);
|
||||
/// ```
|
||||
///
|
||||
/// Separators at the start or end of a string are neighbored
|
||||
/// by empty strings.
|
||||
///
|
||||
/// ```
|
||||
/// let d: Vec<_> = "010".split("0").collect();
|
||||
/// assert_eq!(d, &["", "1", ""]);
|
||||
/// ```
|
||||
///
|
||||
/// When the empty string is used as a separator, it separates
|
||||
/// every character in the string, along with the beginning
|
||||
/// and end of the string.
|
||||
///
|
||||
/// ```
|
||||
/// let f: Vec<_> = "rust".split("").collect();
|
||||
/// assert_eq!(f, &["", "r", "u", "s", "t", ""]);
|
||||
/// ```
|
||||
///
|
||||
/// Contiguous separators can lead to possibly surprising behavior
|
||||
/// when whitespace is used as the separator. This code is correct:
|
||||
///
|
||||
/// ```
|
||||
/// let x = " a b c".to_string();
|
||||
|
Loading…
Reference in New Issue
Block a user