특정 문자열에서 특정문자들만 추출해서 결과를 만들려고 하는데 어렵네요.ㅠ
글쓴이: familytoto / 작성시간: 금, 2011/11/04 - 11:58오전
1320221768335||testv@testasadal.com||1||1||testmtest01@test.com,김철수abc@naver.com,김영희cgv@cgv.com||1320222092
위 정보를 받아서
아래 처럼 변경 할려고 합니다. 1320221768335||testv@testasadal.com||1||1||test01@test.com,abc@naver.com,cgv@cgv.com||1320222092
testmtest01@test.com,김철수abc@naver.com,김영희cgv@cgv.com << 이정보에서 메일 주소만 빼오는거죠 어떤 방식으로 접근을 해야 할지 도무지 감이 안잡히네요.ㅠㅠ 고수분들 힌트라도 부탁드립니다.
감사합니다.
Forums:
한글과 영문은 정규식으로 구분하면 될 것 같은데
한글과 영문은 정규식으로 구분하면 될 것 같은데 testmtest01@teset.com처럼 둘 다 영어인데 testm과 test01을 구분하는건 어려워 보이네요. test와 mtest01일수도 있고, testmt와 est01일수도 있으니까요.
아니면 testm같은 이름에 대한 사전이 있어서 거기서 찾아보거나...
피할 수 있을때 즐겨라! http://melotopia.net/b
BNF나 EBNF로 규칙을 작성하여 보여주세요.
BNF나 EBNF로 규칙을 작성하여 보여주세요.
그보다는, 전체 문자열에서 "이름"만 지우는 방법을
그보다는, 전체 문자열에서 "이름"만 지우는 방법을 찾으면 되겠는데요.
"이름"을 인식하는 방법을 찾아보세요. 이름사전이 있다면 문자열 매칭으로 찾을 수 있을 것이고 없으면 저도 모릅니다.
피할 수 있을때 즐겨라! http://melotopia.net/b
snowall님 의견에 동감합니다. 다만 이름 을 구별하도록 압력?을 넣었으면 하네요.
snowall님 의견에 동감합니다.
다만 이름과 이메일 주소에 구별자가 들어갔으면 하네요.
이름사전은 특정 이름과 이메일 주소랑 결합하여 다른 이름으로 인식될수있으므로 위험하다고 생각합니다.
그냥 이럴땐 무식하게 파싱 불가이니 다시 해서 달라고 때를 써야 한다고 생각합니다.
그래도 어쩔수없다면 관련 책임자분들 모두 도장이나 사인 받아야죠. 냉정해도 확인서 받아두시기 바랍니다.
sed를 써보시는 건 어떨지...
뭐 별로 속도가 중요하지 않으면 html 소스로 저장해서 sed로 대충해도 될 것 같은데요.
sajang@ubuntu64:~/junk$ cat email
1320221768335||testv@testasadal.com||1||1||testmtest01@test.com,김철수abc@naver.com,김영희cgv@cgv.com||1320222092
sajang@ubuntu64:~/junk$ cat email | sed 's/||/ /g' | sed 's/.*/ /g' | sed 's/<.*>//g' | sed 's/$//g' | sed 's/ /||/g' | sed 's/||$//g'
1320221768335||testv@testasadal.com||1||1||testmtest01@test.com
sajang@ubuntu64:~/junk$
음... 별로 안 예쁘지만 되긴 되네요.
text로 안 올라가니 제대로 안 보이네요., 다시 한 번...
sajang@ubuntu64:~/junk$ cat email | sed 's/||/\n/g' | sed 's/,/\n/g' | sed 's/">&.*$//g' | sed 's/^.*//g'
1320221768335||testv@testasadal.com||1||1||test01@test.com||abc@naver.com||cgv@cgv.com||1320222092
마지막 try
콤마(,)를 그대로 놔두는 걸 까먹었네요.
그 라인만 따로 저장해서 하시면 될 것 같네요. 그럼 이만.
댓글 달기