如何找到串联ASCII和std::string的子字符串

How can i find substring of concatenation ASCII and std::string?

本文关键字:string 字符串 std 何找 ASCII      更新时间:2023-10-16

我有一个类似"][RS01GSXXXXX"的字符串。

我需要匹配前8个字符,然后获取"XXXXX"部分。

这里,RSGS是ASCII值分别为30和29的一个字符。

我如何在C++中实现这一点?

我在Pascal中看到过这样的匹配,

LeftStr(str, 8) = '][' + #30 + '01' + #29 

我可以用C++做这样的事情吗?

您可以在字符串文字中使用字符转义序列。对应于Pascal表达式的C++表达式将是

std::string s = "][x1E" "01" "x1D";
str.substr(0, 6) == s

x1E表示整数值为0x1E的字符,该字符的小数点为30
x1D表示整数值为0x1D的字符,该字符的小数点为29。