-1

私は次の文字列を持っています:

"  asfagds gfdhd"sss dg    "
"sdg "dsg          "

必要な出力:

asfagds gfdhd"sss dg
sdg "dsg

(文字列の前と最後、および先頭と末尾の二重引用符から空のスペースが削除されました。)

これらの行を含む大きなファイルがあり、必要に応じてフォーマットする必要があります..."それぞれのファイルの最初と最後からを削除し、ファイルの最初と最後から空白を削除するにはどうすればよいですか?

4

4 に答える 4

3

string.stripまたはを使用しstring.strip!ます。

"  asfagds gfdhd\"sss dg    ".strip
"asfagds gfdhd\"sss dg"

stripスペースだけでなく、すべての空白(タブ、改行など)が削除されることに注意してください。スペースだけを削除したい場合は、以下を使用してください。

string.gsub /^ *| *$/, ''

"同様に削除したい場合:

string.gsub /^" *| *"$/, ''
于 2012-08-21T08:40:06.087 に答える
2

ファイル内のデータがクリーンで均一である場合、これは次のようになります。

'"asfagds gfdhd" sss dg "'[1 ..-2] .strip

データがクリーンでない場合は、前にストリップを実行する必要がある場合があります(つまり、閉じ引用符の後に末尾のスペースがある場合)。

'"asfagds gfdhd" sss dg "'.strip [1 ..-2] .strip

実際には、ファイル内のデータがどれだけクリーンであるかに依存します。

于 2012-08-21T08:44:31.200 に答える
1

使用strip

 "     Hello World     ".strip #=> "Hello World"

lstripまたは、それぞれ左/右の使用からストリップするだけrstripです。

于 2012-08-21T08:39:54.777 に答える
1

一発ギャグ:

irb> '"  asfagds gfdhd"sss dg    "'[1..-2].strip
 => "asfagds gfdhd"sss dg"

[1、n-1]サブストリングを取り、空白を削除します

于 2012-08-21T08:40:52.110 に答える