Visual Studio 2005:\a 转义序列出现在字符串中,但无法删除



我正在使用 J# 处理使用 Excel 互操作从 MS Word 中提取的文本。现在我在从单元格中提取的文本时遇到问题。单元格是行标题,可见文本为"总计",但提取的字符串为"总计\r\a"。我想删除转义序列,但 VS 不会检测或删除 \a。

cellText = cellText.Replace("r", ""); //works
cellText = cellText.Replace("a", ""); //error: unrecognized escape sequence
cellText = cellText.Replace("\a", ""); //doesn't remove the sequence
cellText.Contains("\a") returns false.

有什么想法吗?

cellText = cellText.Replace("a", ""); //error: unrecognized escape sequence

好吧,a是警报(铃铛)字符的类 C 语言的标准转义序列,如果发送到控制台,通常会发出声音。 但是Java不支持它(尽管大多数其他都可以)。 但是,您可以使用十六进制转义:

cellText = cellText.Replace("u0007", "");

或八重逃生:

cellText = cellText.Replace("07", "");

或者,如果您不顾一切地避免邪恶的逃生序列:

char bell = 7;
cellText = cellText.Replace(bell.toString(), "");

最新更新