スペース、スペース、タブは文字列の一部ですか? [コピー]

スペース、スペース、タブは文字列の一部ですか? [コピー]

スペースとスペースの間に違いはありますか?

タブ、スペース、スペースも文字と見なされますか?

答え1

あなたのタグが「正規表現」を表すので、POSIX文字クラス[:blank:][:space:]

この概要表には、[:blank:]次のサブセットが示されています[:space:]

  • [:space:]\x20通常、「空白文字」で指定されたすべての項目、つまり「空白」(「空白」バーを押すと生成される文字)、水平タブ、垂直タブ、フォームフィードなどが含まれます。
  • [:blank:]「空のスペース」を生成する文字のみを含みます。同じ行の中つまり、「空白」と水平タブです\t。 (*)

はい、コンピュータ入力の文脈では、これらはすべて文字であるため、正規表現を設計するときに文字として扱う必要があります。

修正する ここ同様の議論だ。

[:blank:](*)注:Stéphane Chazelasが指摘したように、垂直タブと改ページを含むことができるBSDベースの実装があります。ここ

答え2

この場合、「空白」というものはありません。あなたが持っているのは文字だけで、その一部は実際にプレーンテキストで見ることができるものを印刷しません。しかし、すべては文字で表されます。 ASCIIには印刷できない文字がかなりあります。ここで完全なリストを見つけることができます。https://web.itu.edu.tr/sgunduz/courses/mikroisl/ascii.html。テキストファイルに表示されるさまざまな空白文字は次のとおりです。

  • スペース:
  • ブランド:\t
  • 新しいチーム:\n
  • 入力する:\r

そしてあまり一般的ではない:

  • ベル:\a
  • バックスペースキー:\b
  • 垂直タブ:\v
  • ページ変更:\f

印刷されませんが、テキストファイルには表示されないNULL()文字、\0特殊エスケープ(\eまたは^[)およびControl-Z(^Z)文字を使用することもできますが、実際にはテキストにはありません。ファイル。

関連リンク


したがって、「空白」は、空白、タブ、または他の空白文字であり得る。あるいは、ASCIIの代わりにUnicodeを使用している場合は、さまざまな奇妙なことが起こります。しかし、あなたが持っているものは何でも、彼らはキャラクターになります。テキストに空白が見える場合、コンピュータはいくつかの文字を認識します。 「空白」は、文字がないのではなく、常に印刷できない文字があることです。

答え3

https://en.wikipedia.org/wiki/Whitespace_character

コンピュータプログラミングにおいて、スペースは、タイポグラフィの水平または垂直空間を表す文字または一連の文字である。

私はあなたがコマンドラインの使い方に言及していると思います。

スクリプトに入力されたコマンドなど、コマンドプロセッサによって処理されるコマンドでは、空白文字は2つの可能な機能、つまりコマンドまたは引数の一部として、または引数または名前区切り文字として使用されるため、問題を引き起こす可能性があります。埋め込みスペースを許可しないか、名前を引用符の間に含まれるスペースで囲むことで、あいまいさを防ぐことができます。

パラメータ区切り文字でスペース:

command arg1 arg2

文字列の一部である空白(コマンドの単一引数):

command "arg with spaces"

答え4

はい、空白を強調するとNULL、そうでない場合は空白と空白は同じです。スペース、スペース、およびタブ文字は、すべてASCIIまたはUnicodeシステムで定義されている文字です。スペース[0x00]、スペース[0x20]、タブ[0x09]

関連情報