我正在尝试拆分一个奇怪的串行端口流,该流使用回车符
基于标准库的实现,我已经开始组合一些代码,但我还没有让它编译通过。我希望我正在按照“Rust方式”正确地进行操作。正则表达式对于字节流来说似乎太昂贵了。
示例输入:
当您在该输入上使用
\r
分隔行,有时会使用\r\n
。 BufReader
有lines
函数,但它仅在\n
或\r\n
上拆分。有一个.read_until(...)
函数,但它仅适用于单个终止符。基于标准库的实现,我已经开始组合一些代码,但我还没有让它编译通过。我希望我正在按照“Rust方式”正确地进行操作。正则表达式对于字节流来说似乎太昂贵了。
示例输入:
Heading:\r\nLine 1\rLine 2\rLine 3\r\nEnd
当您在该输入上使用
lines()
时,会得到三行,因为\r
不被视为行终止符:“最初的回答”Heading:
Line 1\rLine 2\rLine 2\rLine 3
End