-1

我有以下字符串:

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

所需的输出:

asfagds gfdhd"sss dg
sdg "dsg

(从字符串的前面和结尾删除空格,以及前导和尾随双引号。)

我有一个包含这些行的大文件,我需要将它们格式化为我们的需要......我如何"从相应文件的开头和结尾删除并从文件的开头和结尾删除空格?

4

4 回答 4

3

使用string.stripstring.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"

或仅从左/右使用lstriprstrip分别剥离。

于 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 回答