2

簡単なので生の文字列を宣言

String raw = @'\"Hello\"';

しかし、どうすれば既存の文字列を生の文字列に変換できますか?
これは、ファイルの読み取りまたは ajax 呼び出しで発生する可能性があります。ファイルを生の文字列として読み取りたいのですが、readAsTextメソッドは生の文字列を返しません。
私は次のようなことを試みました:

String notRaw = '\"Hello\"';
String raw = @raw;

しかし、コンパイルしていません。これどうやってするの?

EDIT : 文字列 char を char ごとに読み取る必要があります。したがって、\" を 1 文字 " としてではなく、2 文字の \ および " として読み取りたい

4

2 に答える 2

1

エスケープ文字を解釈せずにファイルを読みたい場合は、必要がありreadAsBytesます。これにより、文字のリストが整数として得られます。バックスラッシュを検出し、次のように引用できます。

final int backSlash = @'\'.charCodeAt(0); 
final int quote = @'"'.charCodeAt(0);

次に、目的の部分文字列を文字列コンストラクターに渡します。

String goodString = new String.fromCharCodes(byteList.getRange(start, end));
于 2012-08-16T12:20:23.550 に答える
0

生の文字列リテラルは文字列のままです。唯一の違いは、生のリテラル内のすべてがそのまま受け入れられることです。つまり、エスケープ シーケンスはありません。

たとえば、プレーンな (生ではない) 文字列リテラル'a\nb'は、文字 'a'、改行、文字 'b' を表します。生の文字列リテラルでは、文字 'a'、バックスラッシュ、文字 'n'、文字 'b' を表します。

于 2012-08-15T23:25:54.737 に答える