0

我在 J# 中使用 Excel 互操作从 MS Word 中提取文本。现在我遇到了从单元格中提取文本的问题。单元格是行标题,可见文本是“Total”,但提取的字符串是“Total\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.

有任何想法吗?

4

1 回答 1

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

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

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

或八进制转义:

cellText = cellText.Replace("\007", "");

或者,如果您迫切希望避免邪恶的转义序列:

char bell = 7;
cellText = cellText.Replace(bell.toString(), "");
于 2012-06-08T21:50:59.800 回答