2016-06-14 3 views
1

가져올 데이터가있는 CSV가 있으며 구분 기호는 쉼표입니다. 행이나 행에 두 개의 전자 메일이 있으면 쉼표로 구분하여 가져 오기가 실패합니다. 그래서 나는 같은 줄에있을 때 두 개의 쉼표 사이에서 쉼표를 제거하는 것이 좋겠다고 생각했지만 어떻게해야할지 모르겠다. 대체 솔류션을 가지고 있다면 환영 할 것입니다 !! 감사합니다. .메모장에서 쉼표를 바꾸십시오 ++

예 :

ENTERPRISE1 S.L.,,ENTERPRISE1,999461678,,,,,,[email protected], [email protected],Spain,,, 
ENTERPRISE2 S.A.,,ENTERPRISE2.,999859177,,,,,,[email protected],Italy,,, 
+0

메모장을 사용하지 않았습니다. ++ 가능하면 매크로 작성 방법이 없습니다. 그러나 간단한 의사 코드는 다음과 같을 것입니다 : 1- 현재 줄에서 얼마나 많은 수를 얻을 수 있습니까? 2 개 이상일 경우 쉼표와 @ 위치를 가져옵니다. 3 번째 @ 위치> 쉼표 사이에 2 개의 인접한 emails> last @ position – Lati

+0

가능한 경우 파일 작성 방식을 변경하는 것이 좋습니다. 다른 문자로 메일을 구분하는 쉼표를 변경하십시오. – Toto

답변

0

을 감안할 때 어떤 이스케이프와 @의 -char를 사용하지 않는 데이터 메일 열에 만 나타나기 때문에 ((?:@|\G(?!^))[^,]+),([^,@][email protected])을 검색 패턴으로 사용하고 대체하려면 $1$2을 사용할 수 있습니다. 또한이 열에서 두 개 이상의 메일을 올바르게 처리합니다. 물론 과 $2 사이에 구분 기호를 넣을 수 있습니다 (예 : $1;$2)

here에서 볼 수 있습니다.

+0

@Destrif 정말 오류가 표시되지 않습니다 - 정확히 무엇을 의미합니까? –

+0

@Destrif 네,하지만 결과는 정확합니다. –

+0

Ok 죄송합니다, 잘 작동합니다. – Destrif

-1

는 예를 들어 당신이 항상 여러 개의 이메일 주소를 분리 쉼표 후 빈 공간을 가지고있는 것처럼 보인다.
이것이 일반적인 규칙 인 경우 ","(쉼표 + 빈 공간) 문자열을 세미콜론과 같은 다른 구분 기호로 바꿔야합니다. 대체 기능을 호출하려면 ctrl + h을 사용하십시오.

+0

@BrianTompsett 안녕하세요, 왜 내 대답을 왜곡 시켰습니까? –

+0

나는 그렇지 않았다. 방금 검토에서 편집했습니다. 모든 투표는 익명으로 처리되므로 누가 투표를했는지 알 수 없으며 심지어 사회자도 투표를 할 수 없습니다. –

+0

오, 알겠습니다. 편집 해 주셔서 감사합니다 :) –

0

또 다른 옵션은 올바른 CSV 형식을 사용하는 것입니다. 단락 기호가 포함 된 모든 입력란을 큰 따옴표로 묶으십시오.

([^,][email protected][^,]+,[^,][email protected][^,]+) 

바꾸기 :
"\1" 

은 (정규식 destrif's answer 각색).

관련 문제