2012-12-17 151 views
0

我有一个单词列表,我想将它们转换为CSV。将值列表转换为CSV值

a 
b 
c 
d 

a,b,c,d

我通过,取代\n和它的工作,但是这是我的2企图

我第一次尝试这样的正则表达式^([A-Za-z ]+)$\n和更换\1,。这种特殊的正则表达式是做什么的相邻字符串是这样的:

a,b 
c,d 

我能在它更改为得到它的工作。

我在eclipse中这样做,所以我想这是java,但我没有考虑到\ escape,它与edit +相同。

+2

来自'[regex]'标签描述:**请包括一个标签,指定您正在使用的编程语言或工具,以及此标签。** –

+0

我同意@LevLevitsky,需要使用该语言进行分类。我会说'$ \ n'虽然有些奇怪。 '\ n'只在行尾,所以你不需要两者。我会尝试删除'$',看看是否有帮助。 – dan1111

+0

@ dan1111你是对的,$是多余的,但删除它也会给出结果,如后所示 – Dude

回答

0

从你的例子,你甚至不需要使用正则表达式。只需用逗号(,)替换 两个 一个 换行 换行符(\n),然后设置好。

+0

根据问题,它们仅由一个换行符分隔。如果你假设'\ n $'匹配两条换行符,那是不正确的。 '$'符合“行结束”的概念,但是是零宽度。它实际上并不匹配一个字符。 – dan1111

+0

@ dan1111你是对的,只有一个换行符。 – Dude

+0

我只看了他发布的例子,最初有两个新行,但现在已被修改为一个。 –

1

此正则表达式:

^([A-Za-z ]+)$\n 

的线,字母和空间,那么该行的末尾开始匹配。

一旦您执行了第一次替换,该行就会包含一个逗号,因此它将不再匹配该模式。

正则表达式也有点多余。因为\n只能在行的末尾出现,所以您不需要$\n

为了解决这个问题,你只需要简单地让你的模式相匹配逗号:

^([A-Za-z ,]+)\n 

注:具体情况可能会有所不同根据您的Eclipse版本和/或文件编码。我需要\r\n来匹配我的新行。