0

Excel 相互運用機能を使用して MS Word から抽出されたテキストを使用して J# で作業しています。現在、セルから抽出されたテキストに問題があります。セルは行ヘッダーで、表示されるテキストは "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はそれをサポートしていません(他のほとんどは大丈夫ですが)。ただし、16進エスケープを使用できます。

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

または8進数のエスケープ:

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

または、邪悪なエスケープシーケンスを避けたい場合は、次のようにします。

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