0
Groovy의 replaceAll 기능에 문제가 있습니다.
CSV 파서 지정 작업을하고 있는데 공백으로 쉼표 대신 사용하려고합니다. 스크립트를 실행할 때마다 쉼표가 포함 된 데이터가 반환되기 때문에 실제 대체 할 구문을 파악할 수 없습니다.Groovy replaceAll 쉼표
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
가에 예상대로 헤더의 배열이 작동합니다. 현재 코드 후 출력 ','
","
/','/
/,/
내가 을 시도1997,Ford,E350
2000,Mercury,Cougar
입니다
과 내가 온라인에서 찾은 다양한 regexp 패턴. 문자 그대로 아무 것도 효과가 없습니다. 나는 내가 무엇을 놓치고 있는지 모른다. 나는 replaceAll이 그렇게 어렵지 않을 것이라고 생각했다. 나는 문서를 살펴 봤지만 문자열을 적용하는 방법을 잘 모르겠다.
감사합니다. 나는 내가 어떻게 그것을 놓쳤는 지 모른다. – thisisnotabus