@@ -120,7 +120,7 @@ fn split_array(
120120 DataType :: LargeUtf8 => {
121121 // Convert LargeUtf8 to Utf8 for processing
122122 let large_array = as_generic_string_array :: < i64 > ( string_array) ?;
123- return split_large_string_array ( & large_array, & regex, limit) ;
123+ return split_large_string_array ( large_array, & regex, limit) ;
124124 }
125125 _ => {
126126 return exec_err ! (
@@ -204,7 +204,7 @@ fn split_with_regex(string: &str, regex: &Regex, limit: i32) -> Vec<String> {
204204 // limit = 0: split as many times as possible, discard trailing empty strings
205205 let mut parts: Vec < String > = regex. split ( string) . map ( |s| s. to_string ( ) ) . collect ( ) ;
206206 // Remove trailing empty strings
207- while parts. last ( ) . map_or ( false , |s| s. is_empty ( ) ) {
207+ while parts. last ( ) . is_some_and ( |s| s. is_empty ( ) ) {
208208 parts. pop ( ) ;
209209 }
210210 if parts. is_empty ( ) {
@@ -216,15 +216,13 @@ fn split_with_regex(string: &str, regex: &Regex, limit: i32) -> Vec<String> {
216216 // limit > 0: at most limit-1 splits (array length <= limit)
217217 let mut parts: Vec < String > = Vec :: new ( ) ;
218218 let mut last_end = 0 ;
219- let mut count = 0 ;
220219
221- for mat in regex. find_iter ( string) {
222- if count >= limit - 1 {
220+ for ( count , mat) in regex. find_iter ( string) . enumerate ( ) {
221+ if count >= ( limit - 1 ) as usize {
223222 break ;
224223 }
225224 parts. push ( string[ last_end..mat. start ( ) ] . to_string ( ) ) ;
226225 last_end = mat. end ( ) ;
227- count += 1 ;
228226 }
229227 // Add the remaining string
230228 parts. push ( string[ last_end..] . to_string ( ) ) ;
0 commit comments