정렬 된 목록의 변수 구분 기호를 문자열로

옥수수 12345

현재 정렬 된 문자 목록을 문자열로 변환하려고합니다. 이 문자열의 구분 기호는 앞뒤의 문자가 다른 경우 '-'여야하지만 이러한 문자가 같으면 '&'여야합니다.

예 : 목록 [ '1', '1', '2', '9', 'A', 'A', 'A', 'B', 'C']는 '1 & 1-2-9가되어야합니다. -A & A & A-B-C '.

이것은 Pandas DataFrame의 약 25 만 개의 목록에서 발생합니다. 모든 구분 기호 '-'로 문자열을 만들고 str.replace () 함수를 사용하여 대체하려고 생각하고 있지만 마지막 부분에서 멈춰 있습니다.

내 현재 코드의 단순화는 다음과 같습니다 ( 'sorted'열에는 위와 같이 정렬 된 문자 목록이 포함되어 있음).

df['joined'] = df['sorted'].str.join('-')
df['correct'] = df['joined'].str.replace(r"\-(.\-)\1{1,}?", xxxx, regex=True)

첫 번째 패턴과 동일한 부분을 수행 할 수있는 xxxx를 '.'로 대체 할 수있는 정규식 패턴이 있습니까? 원래 캐릭터인가? 또는 다른 솔루션이 있습니까 (예 : 긍정적 인 룩 비하인드 및 룩어 헤드 일치? 감사합니다!

Daweo

다음과 같이 할 것입니다.

import re
chars = ['1', '1', '2', '9', 'A', 'A', 'A', 'B', 'C']
joined = '-'.join(chars)
result = re.sub(r'(.)-(?=\1)', r'\1&', joined)
print(result)  # 1&1-2-9-A&A&A-B-C

설명 : 여기서는 -이전과 동일한 문자가 뒤에 오는지 확인하면서 긍정적 인 미리보기를 사용했습니다 . 길이가 0 인 어설 션은 캡처하지 않으므로 -서로 1 인 적절한 대체가 발생합니다.

A-A-A

일치 결과 :

(A-)(A-)A

r'(.)-\1'패턴으로 사용하면 다음 과 같습니다.

(A-A)-A

따라서 두 번째는 -변경되지 않고

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

정의 된 구분 기호를 사용하여 문자열 배열을 문자열로 변환

분류에서Dev

공백으로 구분 된 정수 문자열로 목록 정렬

분류에서Dev

여러 구분 기호로 정의 된 문자열 부분을 R에서 여러 변수로 분할

분류에서Dev

파이썬에서 + 기호로 구분 된 정수 목록이 문자열인지 확인하십시오.

분류에서Dev

Newtonsoft 사용자 정의 Json 변환기 문자열 배열을 쉼표로 구분 된 문자열 WebApi 2

분류에서Dev

jq의 출력을 목록 목록에서 구분 된 문자열로 변환

분류에서Dev

문자열 요소의 숫자 부분을 기준으로 중첩 된 목록 정렬

분류에서Dev

쿼리 문자열에 따라 정렬 된 목록의 시작 번호 변경

분류에서Dev

쉼표로 구분 된 문자열을 정수 목록으로 변환하고 유효성 검사

분류에서Dev

Bash에서 여러 문자 구분 기호로 분할 된 문자열의 특정 부분 제거

분류에서Dev

중첩 된 목록에서 구분 된 문자열로 변환

분류에서Dev

쉼표로 구분 된 문자열을 목록으로 변환

분류에서Dev

문자열을 공백으로 구분 된 정수로 변환

분류에서Dev

공백으로 구분 된 숫자를 포함하는 문자열을 정수 배열로 변환

분류에서Dev

C ++ 문자열을 ":"로 구분 된 두 개의 정수로 분할합니다.

분류에서Dev

문자열이 포함 된 정수로 목록 정렬

분류에서Dev

bash에서 특정 구분 기호로 구분 된 문자열의 마지막 필드 가져 오기

분류에서Dev

SQL : +로 구분 된 목록을 정수로 변환

분류에서Dev

AliasToBean 변환기를 사용하여 쉼표로 구분 된 DTO 문자열 속성에 개체 속성의 항목 목록 매핑을 통한 Nhibernate 쿼리

분류에서Dev

쉼표로 구분 된 정수의 긴 문자열을 x 및 y 열로 변환

분류에서Dev

사용자 정의 Django URL 경로 변환기 (쉼표로 구분 된 정수)

분류에서Dev

쉼표로 구분 된 목록에서 문자열 값 찾기

분류에서Dev

목록 <문자열>에서 구분 된 문자열로 변환 목록에 <문자열>

분류에서Dev

Boost Spirit에서 하위 구문 분석기로 매개 변수화 된 구문 분석기 정의

분류에서Dev

점으로 구분 된 숫자 목록을 특정 정렬

분류에서Dev

문자열의 구분 된 데이터를 단일 열의 값으로 변환

분류에서Dev

구분 기호로 배열 목록 정렬

분류에서Dev

결과 목록에 가변 너비 구분 기호를 포함하는 Java 정규식으로 문자열을 분할하는 방법

분류에서Dev

열로 구분 된 목록의 내용을 기반으로 이진 범주 형 변수 만들기

Related 관련 기사

  1. 1

    정의 된 구분 기호를 사용하여 문자열 배열을 문자열로 변환

  2. 2

    공백으로 구분 된 정수 문자열로 목록 정렬

  3. 3

    여러 구분 기호로 정의 된 문자열 부분을 R에서 여러 변수로 분할

  4. 4

    파이썬에서 + 기호로 구분 된 정수 목록이 문자열인지 확인하십시오.

  5. 5

    Newtonsoft 사용자 정의 Json 변환기 문자열 배열을 쉼표로 구분 된 문자열 WebApi 2

  6. 6

    jq의 출력을 목록 목록에서 구분 된 문자열로 변환

  7. 7

    문자열 요소의 숫자 부분을 기준으로 중첩 된 목록 정렬

  8. 8

    쿼리 문자열에 따라 정렬 된 목록의 시작 번호 변경

  9. 9

    쉼표로 구분 된 문자열을 정수 목록으로 변환하고 유효성 검사

  10. 10

    Bash에서 여러 문자 구분 기호로 분할 된 문자열의 특정 부분 제거

  11. 11

    중첩 된 목록에서 구분 된 문자열로 변환

  12. 12

    쉼표로 구분 된 문자열을 목록으로 변환

  13. 13

    문자열을 공백으로 구분 된 정수로 변환

  14. 14

    공백으로 구분 된 숫자를 포함하는 문자열을 정수 배열로 변환

  15. 15

    C ++ 문자열을 ":"로 구분 된 두 개의 정수로 분할합니다.

  16. 16

    문자열이 포함 된 정수로 목록 정렬

  17. 17

    bash에서 특정 구분 기호로 구분 된 문자열의 마지막 필드 가져 오기

  18. 18

    SQL : +로 구분 된 목록을 정수로 변환

  19. 19

    AliasToBean 변환기를 사용하여 쉼표로 구분 된 DTO 문자열 속성에 개체 속성의 항목 목록 매핑을 통한 Nhibernate 쿼리

  20. 20

    쉼표로 구분 된 정수의 긴 문자열을 x 및 y 열로 변환

  21. 21

    사용자 정의 Django URL 경로 변환기 (쉼표로 구분 된 정수)

  22. 22

    쉼표로 구분 된 목록에서 문자열 값 찾기

  23. 23

    목록 <문자열>에서 구분 된 문자열로 변환 목록에 <문자열>

  24. 24

    Boost Spirit에서 하위 구문 분석기로 매개 변수화 된 구문 분석기 정의

  25. 25

    점으로 구분 된 숫자 목록을 특정 정렬

  26. 26

    문자열의 구분 된 데이터를 단일 열의 값으로 변환

  27. 27

    구분 기호로 배열 목록 정렬

  28. 28

    결과 목록에 가변 너비 구분 기호를 포함하는 Java 정규식으로 문자열을 분할하는 방법

  29. 29

    열로 구분 된 목록의 내용을 기반으로 이진 범주 형 변수 만들기

뜨겁다태그

보관