From ad9404dd32a7093e84cad2e4db3cb3f3496f6eca Mon Sep 17 00:00:00 2001 From: blob42 Date: Sun, 19 Feb 2023 21:08:27 +0100 Subject: [PATCH] wip text splitting into columns --- src/input.rs | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/input.rs b/src/input.rs index 1dc7283..3d6c1f1 100644 --- a/src/input.rs +++ b/src/input.rs @@ -1,12 +1,21 @@ +use std::io; type Column = Vec; type Columns = Vec; // split input text into columns based on separator character // returns a type representing a variable length array of strings (columns) ? -pub fn split_columns(text: &str, sep: char) -> Option { +pub fn split_columns(text: &str, sep: char) -> Result { + // read the first line stripping empty lines + let lines: Vec<&str> = text.trim().lines().collect(); - Some(Columns::new()) + // count number of columns + let n_col = lines.iter().next().unwrap(); + + eprintln!("{:?}", lines); + + // detect number of columns + Ok(Columns::new()) } #[test] @@ -17,5 +26,10 @@ file2.pdf title2 file3 title3 "###; let columns = split_columns(coltext1, '\t'); - println!("columns:\n{:?}", columns); + + // should have two columns + assert_eq!(columns.unwrap().len(), 2); + + + // println!("columns:\n{:?}", columns); }