특정 문자열에서 특정문자들만 추출해서 결과를 만들려고 하는데 어렵네요.ㅠ

familytoto의 이미지

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 << 이정보에서 메일 주소만 빼오는거죠 어떤 방식으로 접근을 해야 할지 도무지 감이 안잡히네요.ㅠㅠ 고수분들 힌트라도 부탁드립니다.

감사합니다.

snowall의 이미지

한글과 영문은 정규식으로 구분하면 될 것 같은데 testmtest01@teset.com처럼 둘 다 영어인데 testm과 test01을 구분하는건 어려워 보이네요. test와 mtest01일수도 있고, testmt와 est01일수도 있으니까요.

아니면 testm같은 이름에 대한 사전이 있어서 거기서 찾아보거나...

피할 수 있을때 즐겨라! http://melotopia.net/b

익명_사용자의 이미지

BNF나 EBNF로 규칙을 작성하여 보여주세요.

snowall의 이미지

그보다는, 전체 문자열에서 "이름"만 지우는 방법을 찾으면 되겠는데요.

"이름"을 인식하는 방법을 찾아보세요. 이름사전이 있다면 문자열 매칭으로 찾을 수 있을 것이고 없으면 저도 모릅니다.

피할 수 있을때 즐겨라! http://melotopia.net/b

emptynote의 이미지

snowall님 의견에 동감합니다.

다만 이름과 이메일 주소에 구별자가 들어갔으면 하네요.

이름사전은 특정 이름과 이메일 주소랑 결합하여 다른 이름으로 인식될수있으므로 위험하다고 생각합니다.

그냥 이럴땐 무식하게 파싱 불가이니 다시 해서 달라고 때를 써야 한다고 생각합니다.

그래도 어쩔수없다면 관련 책임자분들 모두 도장이나 사인 받아야죠. 냉정해도 확인서 받아두시기 바랍니다.

익명 사용자의 이미지

뭐 별로 속도가 중요하지 않으면 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$

음... 별로 안 예쁘지만 되긴 되네요.

익명 사용자의 이미지

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

익명 사용자의 이미지

sajang@ubuntu64:~/junk$ cat email | sed 's/||/\n/g' | sed 's/,/\n/g' | sed 's/">&.*$//g' | sed 's/^.*<a href="mailto://g' | sed ':a;N;$!ba;s/\n/||/g' | sed 's/\///g' | sed 's/<p>//g'
1320221768335||testv@testasadal.com||1||1||test01@test.com||abc@naver.com||cgv@cgv.com||1320222092
[\code]
익명 사용자의 이미지

그 라인만 따로 저장해서 하시면 될 것 같네요. 그럼 이만.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.