대문자 패턴으로 텍스트 / 문자열을 분할하는 방법은 무엇입니까?

2 차 plass

각 대담 자에 따라 텍스트를 분할하려고합니다.

원본 텍스트의 형식은 다음과 같습니다.

이것은 음성 텍스트입니다. 1 인칭 : 안녕하세요,와 주셔서 감사합니다. 두 번째 사람 : 초대해 주셔서 감사합니다. TERCER PERSONA QUE SE LLAMA PEDRO : soy de acuerdo. CUARTA PERSONA (JOHN) : 안녕하세요. 어떻게 지내

다음과 같은 최종 결과를 찾고 있습니다.

첫 번째 열 : FIRST PERSON | SECOND PERSON | 3 인칭 페달 | 네 번째 사람 (존)

두 번째 칼럼 : 안녕하세요,와 주셔서 감사합니다 | 초대해 주셔서 감사합니다 | 콩 드 acuerdo | 안녕. 어떻게 지내

최종 결과는 다른 형식이나 모양이 변경 될 수도 있습니다.

분할 할 패턴은 하나 이상의 상위 단어와 ":"이지만 한 가지 어려움은 대문자로 된 패턴이 다음과 같은 선택적 문자를 가질 수 있다는 것입니다. () :,;

실제로 분할하려는 원본 텍스트는 다음과 같습니다. https://lopezobrador.org.mx/2021/01/14/version-estenografica-de-la-conferencia-de-prensa-matutina-del-presidente -안드레-마누엘 로페즈-오브라도 -458 /

나는 stringr rebus와 qdap을 사용하여 다른 것을 시도했습니다. 먼저이 패턴을 시도합니다.

pattern_mayusc <- UPPER %R% one_or_more(UPPER) %R% optional(") ") %R% ":"

다음으로 각 대담 자의 이름으로 벡터를 추출하여 패턴으로 사용하려고했습니다.

mayuscula<-sapply(str_extract_all(text, ".([A-Z]+:)"), paste, collapse= ' ')

나는 내가 원하는 것을 얻기에 가깝지만 그것을 달성 할 수 없다. 나를 도와 줄 사람이 있습니까? 많은 감사드립니다

jay.sf

당신은 사용할 수 있습니다 strsplit경기가 그 중 하나의 패턴에 :어떤 대문자로 일련의 단어 앞에 \p{Lu}공백 ( \s(당신이 필요로하는 경우 더)) 및 괄호, 또는 ( |) 공간, 같은 순서 하였다. el결과 목록에서 첫 번째 ement를 원하고 trimws. 그 결과 화자와 텍스트가 번갈아 가며 matrix행별로 2 열로 쉽게 변환 할 수 있습니다 .

pat <- r"{(?>\p{Lu}+?\s?)+\(?\p{Lu}+\)?\K(:)|(?<!\w)(\s)(?=\p{Lu}{2,})}"
# pat <- "(?>\\p{Lu}+?\\s?)+\\(?\\p{Lu}+\\)?\\K(:)|(?<!\\w)(\\s)(?=\\p{Lu}{2,})"  ## for R < 4.0.0

tmp <- trimws(el(strsplit(x, pat, perl=TRUE)))[-1]
res <- matrix(tmp, ncol=2, byrow=TRUE)
res
#      [,1]                                 [,2]                           
# [1,] "FIRST PERSON"                       "hi all, thank you for coming."
# [2,] "SECOND PERSON"                      "thank you for inviting us."   
# [3,] "TERCER PERSONA QUE SE LLAMA ANDRÉS" "soy de acuerdo."              
# [4,] "CUARTA PERSONA (JOHN)"              "Hi. How are you?"             
# [5,] "ANDRÉS"                             "Hola buenos días!"   

참고 항목 정규식 데모


데이터:

x <- "this is a speech text. FIRST PERSON: hi all, thank you for coming. SECOND PERSON: thank you for inviting us. TERCER PERSONA QUE SE LLAMA ANDRÉS: soy de: acuerdo. CUARTA PERSONA (JOHN): Hi. How are you? ANDRÉS: Hola buenos días!"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

텍스트 문자열을 부분으로 분할하는 방법은 무엇입니까?

분류에서Dev

대소 문자를 기반으로 R에서 텍스트 문자열을 분할하는 방법은 무엇입니까?

분류에서Dev

특정 패턴으로 쉘 스크립트에서 문자열을 자르는 방법은 무엇입니까?

분류에서Dev

텍스트 문자열을 기반으로 CSV 파일을 여러 파일로 분할하는 방법은 무엇입니까?

분류에서Dev

패턴을 기반으로 "한 줄 텍스트"를 분할하는 방법은 무엇입니까?

분류에서Dev

여러 쌍의 패턴 그룹에서 두 패턴의 동시 발생을 기반으로 문자열을 트리밍하는 방법은 무엇입니까?

분류에서Dev

HTML 단락을 읽고 문자열 값으로 텍스트와 결합하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 텍스트 문자열을 숫자로 인코딩하는 방법은 무엇입니까?

분류에서Dev

문자열을 스피너로 나누고 텍스트 값을 편집하는 방법은 무엇입니까?

분류에서Dev

[문자열]을 행으로 분할하는 방법은 무엇입니까?

분류에서Dev

[문자열]을 행으로 분할하는 방법은 무엇입니까?

분류에서Dev

"// u ****"와 같은 문자열을 텍스트로 변환하는 방법은 무엇입니까?

분류에서Dev

TextBlock 텍스트 속성을 문자열 리소스로 설정하는 방법은 무엇입니까?

분류에서Dev

R의 전체 텍스트에서 문자열 패턴 사이의 고유 문자열을 추출하는 방법은 무엇입니까?

분류에서Dev

문자열을 여러 열로 분할하는 방법은 무엇입니까?

분류에서Dev

파일에서 여러 줄로 된 문자열 / 텍스트 패턴 블록을 제거하는 방법은 무엇입니까?

분류에서Dev

노드의 내부 텍스트와 XML을 문자열로 추출하는 방법은 무엇입니까?

분류에서Dev

날짜 문자열을 전체 텍스트 DD MM YYYY로 포맷하는 방법은 무엇입니까?

분류에서Dev

텍스트 문자열을 QP로 인코딩하는 방법은 무엇입니까?

분류에서Dev

rft 문자열을 Java에서 일반 텍스트로 변환하는 방법은 무엇입니까?

분류에서Dev

PHP에서 Base64 문자열을 텍스트로 디코딩하는 방법은 무엇입니까?

분류에서Dev

노드 js 로컬 스크립트에 '-'문자열을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

PHP의 문자열에서 텍스트로 텍스트를 제거하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 문자열 / 숫자를 사용자 지정 패턴으로 포맷하는 방법은 무엇입니까?

분류에서Dev

Perl에서 문자열을 \로 분할하는 방법은 무엇입니까?

분류에서Dev

자바 스크립트에서 분할 함수와 RegEx를 사용하여 길이로 문자열을 분할하는 방법은 무엇입니까?

분류에서Dev

팝 오버에서 텍스트 상자로 값을 구문 분석하는 방법은 무엇입니까?

분류에서Dev

Java : 로깅과 유사한 패턴으로 문자열을 포맷하는 방법은 무엇입니까?

분류에서Dev

부분적으로 json 문자열을 포함하는 텍스트 로그를 pyspark의 구조로 변환하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    텍스트 문자열을 부분으로 분할하는 방법은 무엇입니까?

  2. 2

    대소 문자를 기반으로 R에서 텍스트 문자열을 분할하는 방법은 무엇입니까?

  3. 3

    특정 패턴으로 쉘 스크립트에서 문자열을 자르는 방법은 무엇입니까?

  4. 4

    텍스트 문자열을 기반으로 CSV 파일을 여러 파일로 분할하는 방법은 무엇입니까?

  5. 5

    패턴을 기반으로 "한 줄 텍스트"를 분할하는 방법은 무엇입니까?

  6. 6

    여러 쌍의 패턴 그룹에서 두 패턴의 동시 발생을 기반으로 문자열을 트리밍하는 방법은 무엇입니까?

  7. 7

    HTML 단락을 읽고 문자열 값으로 텍스트와 결합하는 방법은 무엇입니까?

  8. 8

    파이썬에서 텍스트 문자열을 숫자로 인코딩하는 방법은 무엇입니까?

  9. 9

    문자열을 스피너로 나누고 텍스트 값을 편집하는 방법은 무엇입니까?

  10. 10

    [문자열]을 행으로 분할하는 방법은 무엇입니까?

  11. 11

    [문자열]을 행으로 분할하는 방법은 무엇입니까?

  12. 12

    "// u ****"와 같은 문자열을 텍스트로 변환하는 방법은 무엇입니까?

  13. 13

    TextBlock 텍스트 속성을 문자열 리소스로 설정하는 방법은 무엇입니까?

  14. 14

    R의 전체 텍스트에서 문자열 패턴 사이의 고유 문자열을 추출하는 방법은 무엇입니까?

  15. 15

    문자열을 여러 열로 분할하는 방법은 무엇입니까?

  16. 16

    파일에서 여러 줄로 된 문자열 / 텍스트 패턴 블록을 제거하는 방법은 무엇입니까?

  17. 17

    노드의 내부 텍스트와 XML을 문자열로 추출하는 방법은 무엇입니까?

  18. 18

    날짜 문자열을 전체 텍스트 DD MM YYYY로 포맷하는 방법은 무엇입니까?

  19. 19

    텍스트 문자열을 QP로 인코딩하는 방법은 무엇입니까?

  20. 20

    rft 문자열을 Java에서 일반 텍스트로 변환하는 방법은 무엇입니까?

  21. 21

    PHP에서 Base64 문자열을 텍스트로 디코딩하는 방법은 무엇입니까?

  22. 22

    노드 js 로컬 스크립트에 '-'문자열을 구문 분석하는 방법은 무엇입니까?

  23. 23

    PHP의 문자열에서 텍스트로 텍스트를 제거하는 방법은 무엇입니까?

  24. 24

    자바 스크립트에서 문자열 / 숫자를 사용자 지정 패턴으로 포맷하는 방법은 무엇입니까?

  25. 25

    Perl에서 문자열을 \로 분할하는 방법은 무엇입니까?

  26. 26

    자바 스크립트에서 분할 함수와 RegEx를 사용하여 길이로 문자열을 분할하는 방법은 무엇입니까?

  27. 27

    팝 오버에서 텍스트 상자로 값을 구문 분석하는 방법은 무엇입니까?

  28. 28

    Java : 로깅과 유사한 패턴으로 문자열을 포맷하는 방법은 무엇입니까?

  29. 29

    부분적으로 json 문자열을 포함하는 텍스트 로그를 pyspark의 구조로 변환하는 방법은 무엇입니까?

뜨겁다태그

보관