String 用空格替换制表符

String 用空格替换制表符,string,file,rust,String,File,Rust,我的数据库的文本文件(家庭作业): “安哥拉-非洲” “布基纳法索非洲” “布隆迪-非洲” ...... () 我想用空格替换这些选项卡。我试过: fn main() { let data_file = File::open("raw_data2.txt").unwrap(); let reader = BufReader::new(data_file); let mut sql_commands = OpenOptions::new()

我的数据库的文本文件(家庭作业):

“安哥拉-非洲”
“布基纳法索非洲”
“布隆迪-非洲”
...... ()
我想用空格替换这些选项卡。我试过:

fn main() {    
    let data_file = File::open("raw_data2.txt").unwrap();
    let reader = BufReader::new(data_file);
    let mut sql_commands = OpenOptions::new()
        .write(true)
        .open("SQL_input.sql")
        .unwrap();

    for (index, line) in reader.lines().enumerate() {
        let Line: String = line.unwrap(); // Ignore errors.
        Line = Line.replace("   "," ");
        let SQL_query: Vec<&str> = Line.split(' ').collect::<Vec<_>>();
        println!("{}. {}", index + 1, Line); 
        if let Err(e) = writeln!(sql_commands, "{}", SQL_query[0]) {
            eprintln!("Couldn't write to file: {}", e);}
        }    
    }  
}
fn main(){
让数据文件=文件::打开(“raw_data2.txt”).unwrap();
让reader=BufReader::new(数据文件);
让mut sql_commands=OpenOptions::new()
.写(真)
.open(“SQL\u input.SQL”)
.unwrap();
对于reader.lines()中的(索引,行)。枚举(){
let Line:String=Line.unwrap();//忽略错误。
行=行。替换(“,”);
让SQL_查询:Vec=Line.split(“”).collect::();
println!(“{}.{}”,索引+1,行);
如果让Err(e)=writeln!(sql_命令,“{}”,sql_查询[0]){
eprintln!(“无法写入文件:{}”,e);}
}    
}  
}

replace
什么也没做!我还能做什么?

在您当前的代码中,您将用一个空格替换三个空格。没有标签被损坏。考虑替换您的<代码>“ <代码>”\“ < /P>”
在当前代码中,将用一个空格替换三个空格。没有标签被损坏。考虑替换您的<代码>“ <代码>”\“ < /P>”
值得注意的是,使用
Line
SQL\u query
作为局部变量在常规代码中是不常见的。通常,我们使用
snake\u case
作为局部变量(
line
sql\u query
)。值得注意的是,使用
line
sql\u query
作为局部变量在常规代码中是不常见的。通常,我们对局部变量(
line
sql\u查询
)使用
snake\u case
)。
Line = Line.replace("\t"," ");