필드의 전자 메일 주소를 CSV 데이터 행에서 원하지만 목록에 쉼표가 필요합니다.쉼표로 구분 된 전자 메일 주소 목록 인 단일 CSV 필드를 추출하는 방법
따라서 필드 내에서 콘텐츠를 분할하기 때문에이 필드의 내용을 제어 할 수 없습니다. 이는 split
명령을 사용하는 방법 만 알고 있기 때문입니다.
예 데이터 :
# Open file for read
while (my $fileLine = <READ>) {
chomp $fileLine;
my @row = (split ',', $fileLine);
print $fileLine[3]\n\n";
}
12/01/2017, billybob123, [email protected], [email protected], [email protected], AB, [email protected], \\123\abc
내가
$fileLine[3]
를 사용합니다. 내가 원하는 결과는
[email protected], [email protected]
하지만 나는
[email protected]
이 필드를 동적 안에 쉼표로 구분 된 이메일 주소의 수를 얻을.
'@'문자가있는 문자열을 잡을 수 있습니까? 'my @addrs = grep {/ @ /} split /,/$ fileLine; ' – toolic
어떻게 할 수 있니? 'A, B, C, D'가 있다면'A'와'B, C'와'D' 필드가 필요한 도구를 어떻게 알 수 있습니까? "필드"가 무엇인지에 대한 기준이 존재하지 않는 한. – zdim
표준 CSV 파싱 라이브러리 사용! 진지하게, 우리는이 질문을 일주일에 몇 번씩받습니다. CSV 구문 분석은 간단하지 않으며 코드는 작성되고 테스트되었습니다. 자신에게 호의를 베풀고 cpan에서 CSV 라이브러리를 찾고 사용하십시오. 그것은 모든 코너 케이스를 처리 할 것입니다. 특정 경우 CSV가 고장난 것처럼 보입니다. 필드에 쉼표가 있으면 따옴표로 묶어야하며 항상 모호한 부분이 있습니다. –