0

我们有一个 CSV 文件。一个特定的列将有许多条目,并且这些条目将用换行符分隔"\n",但这并没有发生。受影响列的样本数据如下。

30 units - R135                 50 units - R225                  80 units - R360

有没有办法把它分成三列?列数不固定。我想我们将不得不在split条目中使用许多空格字符(两个以上)。我需要:

data = "that long string"
# Some operation
result = ["30 units - R135", "50 units - R225", "80 units - R360"]

我试过这样的事情。但它没有用。结果是相同的字符串。

a.split('/(\s){3,}/')

可以采取什么方法来拆分数据?

4

2 回答 2

3

像这样的声明

a.split('/(\s){3,}/')

a将在出现string 时拆分字符串 /(\s){3,}/,这(不出所料)在目标字符串中没有出现,因此它保持不变。

您需要通过编写指定正则表达式

data = '30 units - R135                 50 units - R225                  80 units - R360'

result = data.split /\s{3,}/

p result

输出

["30 units - R135", "50 units - R225", "80 units - R360"]
于 2013-08-03T16:25:40.957 回答
2

正确的正则表达式是:

a.split(/\s{3,}/)

一个尝试正则表达式的好地方: http ://rubular.com/ (你可能不需要它,但我太喜欢它了,所以分享:))

于 2013-08-03T15:42:02.843 回答