我的数据格式将是“#9#0000075”。
如何删除“#9”并以“#0”和下一个值开头。如何在“#0”之前获取计数。
有关信息:“#9”有时不仅是3个字符,可能更多或更少。但肯定需要以“#0”开头。
StringBuilder gate = new StringBuilder();
int count = 1;
String header = "";
String oldHeader = "";
public void processRawPacket(int i) throws Exception {
try {
gate.append((char) i);
oldHeader = gate.toString();
for (int index = 0; index <= oldHeader.length(); index++) {
if (oldHeader == "#0") {
gate.append(oldHeader);
}
index++;
}
process = false;
} catch (Exception e) {
out.println(expMsg + "processRawPacket(i): " + e);
e.printStackTrace();
StringWriter stack = new StringWriter();
e.printStackTrace(new PrintWriter(stack));
out.println("Caught exception packet; decorating with appropriate status template : " + stack.toString());
resetPacket();
}
}
最佳答案
字符串比较可能存在问题。运算符==
供参考比较。要比较两个字符串,请使用.equals()
方法。
正是这段代码
if (oldHeader == "#0") {
gate.append(oldHeader);
}
应该
if("#0".equals(oldHeader)) {
gate.append(oldHeader);
}
关于java - 找到“#0”后如何追加长度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43448591/