問題タブ [rawstring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
2841 参照

swifty-json - swiftyjson は rawstring を json オブジェクトに変換できません

{"test" : "test"} のような json オブジェクトがありますが、それを SwfiftyJSON.JSON オブジェクトに変換してから、関数 rawString() で rawstring をフェッチすると、rawstring が json オブジェクトに変換されます。 、しかし残念ながら、正しい json オブジェクトを取得できません。「test」プロパティまたはその他のプロパティを取得しようとすると、常に nil が返されます。何が問題なのですか?

0 投票する
2 に答える
513 参照

python - Python の正規表現の生の文字列を理解する

Python 3.4で解析している改行でいっぱいのテキストファイルがたくさんあります。テキストをさまざまな部分に分割する改行を探しています。テキストの例を次に示します。

\nバックスラッシュ ' ' がエスケープ文字であるとは考えずに、正規表現 (RE)で ' ' を含む改行を素朴に探し始めまし\た。しかし、これはうまくいくことが判明しました:

次に、1 つのバックラッシュを探すには、2 つのバックスラッシュを使用する必要があることを理解しました。これもうまくいきました:

しかし、別のスレッドでは、通常の文字列の代わりに生の文字列を使用するように言われましたが、この形式では探している改行が見つかりません。

ここで私を助けてくれませんか?改行を正しく一致させるために使用する必要がある RE の王について少し混乱しています。

0 投票する
2 に答える
1039 参照

python - PythonでWindowsパスの\2を処理するには?

ディスク上のファイルへの Windows パスを文字列 (文字列の一部: Error details are at "C:\Users\ADMINI~1\AppData\Local\Temp\2\BuildErrors.txt" Succeeded

したがって、返された結果を文字列変数にロードします。 s = '''Error details are at "C:\Users\ADMINI~1\AppData\Local\Temp\2\BuildErrors.txt" Succeeded''' file_path = s.split('"')[1] print file_path

> C:\Users\ADMINI~1\AppData\Local\Temp\BuildErrors.txt#(後にSTXアイコン付きTemp

file_pathPython シェルでにアクセスすると、次のように出力されます。

file_path 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\x02\\BuildErrors.txt'

\2Python では特殊文字として扱われることは理解していますが、パスが無効なため、ファイルを読み取ることができません。

外部関数から文字列を取得しているため、既に文字列オブジェクトがあり、私の知る限り、そこから生の文字列 ( r'') を作成することはできません。

s.encode('string-escape')ソース文字列を試してみましたが、そのまま\x02です。

を処理して有効なパスを生成するにはどうすればよい\2ですか?

0 投票する
1 に答える
619 参照

python - 正規表現が r プレフィックスなしで \n を理解するのはなぜですか?

答えを見つけるためにたくさんの質問を読んでいますが、見逃していたらごめんなさい。

改行文字のみを含むテキストがあるとしましょう。
text ='\n'

正規表現はバックスラッシュ文字 ('\') を使用して Python のような特別な意味の文字をエスケープするため、この回答が示唆するように生の文字列表記を使用して改行文字を一致させます。(間違っていたら訂正してください)

したがってregex = re.compile(r'\n')、正規表現パーサーはバックスラッシュと文字「n」を読み取り、改行文字として解釈できます。

私の質問は、なぜregex = re.compile('\n')も機能するのですか?

私がやろうとしregex.match(text)た結果は<_sre.SRE_Match object; span=(0, 1), match='\n'>、生の文字列表記と同じです。


ここに書かれている文書のせいでしょうか?それは言う:

Python 文字列リテラルでサポートされている標準エスケープのほとんどは、正規表現パーサーでも受け入れられます: \a \b \f \n \r \t \v \x \\

誰か詳しく説明してくれませんか?

0 投票する
1 に答える
557 参照

php - PHP バイナリ文字列から 1 バイトをアンパックします

$b からの生のバイト文字列があります

$b[$ix] の値を知る必要があります。私が見つけた唯一の方法は

しかし、そのような基本的な操作には過負荷のようです。

生の文字列のバイトにアクセスするより直接的な方法はありますか?

0 投票する
4 に答える
21083 参照

python - Python パスと生の文字列

パス + ファイル (関数の入力) の名前に問題があります。これは機能します:

これは動作しません:

私がやりたいことは次のとおりです(ただし、機能しません[Errno 22] invalid mode ('rb') or filename:):

" " を使用せずに名前の前に "r" を付けるにはどうすればよいですか? rまたは、パスの前に置かない可能性はありますか?

0 投票する
2 に答える
469 参照

c++ - Code::Blocks の生の文字列?

ファイルからディレクトリを読み取っています。たとえば、これをロードした"Main\Characters\Player.xxx"ので、フォルダ Main と Characters を作成したいと思います。このメソッドを使用してみました (文字列から Player.xxx を削除した後)":

ただし、「\」はバックスラッシュではなくエスケープとしてカウントされます。最適な解決策は、すべての「\」を「\」に置き換えることですが、必要な場合、ツールが O(n) から O(2n) に増加します。各パートを完全に完了するまでに 30 秒。Code::Blocks で Raw 文字列を使用する方法はありますか? 私のために仕事をしR"(\w\\\w)";なかったように。(R はこのスコープでは宣言されていません) .

Raw 文字列を中心に展開しない他のソリューションも大歓迎です。

0 投票する
3 に答える
28277 参照

python - Python Argparse: 生の文字列入力

これが以前に尋ねられた場合はお詫びします。私はそれを検索しましたが、すべてのヒットは argparse に関するものではなく、一般的な Python の生の文字列に関するもののようです。

とにかく、ユーザーが文字列を入力し、この文字列が処理されるコードがあります。\nただし、コードでとを区別できるように\\nして、ユーザーが改行を取得するか\n出力に表示するかを (それぞれ) 制御できるようにするため、問題があります。

これ自体は非常に単純で、文字列などをチェックするロジックを動作させることができます。ただし、argparse は入力文字列をそのまま保持していないようです。したがって、次のように書くHere is a list:\nItem 1と、 として解析されHere is a list:\\nItem 1ます。\n入力文字列を に置き換えるとまったく同じものが解析されるため\\n、両者を区別できなくなります。

ボッジを含めることもできます (たとえば、出力に表示するため、または改行のためだけに$\nユーザーに入力させることができます)。しかし、これは面倒で、コードの使用を複雑にします。\n\n

argparse によって解析される文字列が生であることを確認する方法はありますか? (つまり、入力する\nと解析されますが、解析\nされません\\n

繰り返しますが、これが以前に尋ねられた場合は申し訳ありませんが、答えを見つけることができませんでした.1時間以上答えを見つけようとした後、私はアイデアがありません. ありとあらゆる助けを事前に乾杯してください。

サンプル コード (これが機能しない場合は申し訳ありません。argparse のサンプル コードを実行する最善の方法がわかりません!):