Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Csv Groovy替换逗号_Csv_Groovy_Replaceall - Fatal编程技术网

Csv Groovy替换逗号

Csv Groovy替换逗号,csv,groovy,replaceall,Csv,Groovy,Replaceall,我对Groovy中的replaceAll功能有问题。 我正在处理一个CSV解析器分配,我正在尝试用空格替换逗号。我无法找出实际替换它们的语法,因为每次运行脚本时,返回的数据中仍然包含逗号 class ActAsCSV { def headers = [] def contents = [] def read() { def file = new File('C:/Users/Alex/Desktop/csv.txt') def l

我对Groovy中的replaceAll功能有问题。
我正在处理一个CSV解析器分配,我正在尝试用空格替换逗号。我无法找出实际替换它们的语法,因为每次运行脚本时,返回的数据中仍然包含逗号

class ActAsCSV {
    def headers = []
    def contents = []     
    def read() {
        def file = new File('C:/Users/Alex/Desktop/csv.txt')
        def lines = file.readLines()
        headers = lines[0].split(",")

        def last = lines.tail()
        def i = 0
        while (last[i] != null){last[i].replaceAll(/,(?=([^\"]*\"[^\"]*\")*[^\"]*$)/' ')
           println last[i]
           i++}
        }    
}

alex = new ActAsCSV()
alex.read()
CSV文件如下所示: 年份、品牌、型号

1997,Ford,E350

2000,Mercury,Cougar
headers数组按预期的方式工作。当前代码后的输出为

1997,Ford,E350
2000,Mercury,Cougar
我试过了

“,”

",

/“,”/

/,/


还有我在网上找到的各种regexp模式。事实上,一切都不起作用。我不知道我错过了什么,我以为一切都不会这么难。我查看了文档,但不确定如何应用字符串closure combo。

请注意,
replaceAll()
方法返回结果字符串,而上面的代码错误地假设最后一个[I]正在被修改

这样说,考虑这个代码片段:

String tmp = last[i].replaceAll(/,/,' ')
println tmp

这将有所帮助。

请注意,
replaceAll()
方法返回结果字符串,而上面的代码错误地假定最后一个[i]正在被修改

这样说,考虑这个代码片段:

String tmp = last[i].replaceAll(/,/,' ')
println tmp

这会有帮助的。

谢谢。我不知道我怎么会错过的,谢谢。我不知道我怎么会错过。