我正在一个项目上。客户端和服务器应使用\ a \ b作为所有消息的结尾。因此我的信息可能是"text\a\b"
。这个应该有6个字符。我想使用它时遇到错误,因为Java不知道\ a转义序列。还有一个更大的问题是我无法检测到此序列。我尝试过:
char a;
if(a == '\a'){
break;
}
在我读取输入时循环播放。但这是行不通的。我无法使用扫描仪,因为它阻止了套接字和超时时间。 非常感谢您的建议。
答案 0 :(得分:0)
如果您正在寻找警报/门铃的转义序列,则使用八进制转义序列:'\ 007'
String s = "text\007\b";
assert s.charAt(4) == '\007';
assert s.charAt(5) == '\b';
答案 1 :(得分:0)
如果您实际上只需要正则表达式,请看看this。
假设您正在检查每个字符,并且我已经理解了您的问题:
boolean escapeFlag = false;
for (int i = 0; i < stringy.length(); i++) {
if (escapeFlag) {
if (stringy[i] == 'a') {
....
}
} else if (stringy[i] == '\') {
escapeFlag == true;
}