gpt4 book ai didi

rust - 仅匹配有效的 UTF-8 字符

转载 作者:行者123 更新时间:2023-12-03 11:49:03 25 4
gpt4 key购买 nike

我正在用 Rust 编写一个 ncurses 应用程序。

当用户输入有效的 UTF-8 字符(如 ć 或一些亚洲字母)时,我想从中构建一个搜索字符串并将其打印到屏幕上。目前我有这个:

use ncurses::*;

fn main() {
...
let mut search_string = String::new();
...
loop {
let user_input = getch();
match user_input {
27 => break,
KEY_UP => { ... },
KEY_DOWN => { ... },
KEY_BACKSPACE => { ... },
_ => {
search_string += &std::char::from_u32(user_input as u32).expect("Invalid char.").to_string();
mvaddstr(0, 0, &search_string);
app::autosearch();
}
}
}
}

但是,这会捕获所有其他键,例如 F5 , KEY_LEFT , ETC。

如何仅匹配有效的 UTF-8 字母?

最佳答案

如果 getch给你一个u8 ,您可以将后续按键收集到 Vec<u8>然后调用例如 from_utf8 在每个 getch ,适本地处理错误(参见 Utf8Error 了解更多信息)。

关于rust - 仅匹配有效的 UTF-8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61303547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com