, 나는 내가 itertools를 사용하여 시도,이 2 번 발생하는 경우 단지 하나 개의 문자를 인쇄 할하지만 편지는 단지 하나의 인쇄 4 번 작성, 나는 2 예 인쇄해야하는 경우 :문자열에 중복 된 문자 하나를 인쇄하려면 어떻게해야합니까? 문자열에서
input = rruunnnniinngg
output = running
을
감사합니다. btw. re.sub()
기능으로
, 나는 내가 itertools를 사용하여 시도,이 2 번 발생하는 경우 단지 하나 개의 문자를 인쇄 할하지만 편지는 단지 하나의 인쇄 4 번 작성, 나는 2 예 인쇄해야하는 경우 :문자열에 중복 된 문자 하나를 인쇄하려면 어떻게해야합니까? 문자열에서
input = rruunnnniinngg
output = running
을
감사합니다. btw. re.sub()
기능으로
은 (단지 인접 문자를 가정)
import re
s = 'rruunnnniinngg'
result = re.sub(r'(\S)\1', '\\1', s)
print(result)
출력 :
running
(\S)
- 단일 비 공백 문자
\1
- 1 캡처 그룹의 값 (바로 이전 문자 반복)
내 문제를 해결해 주셔서 감사합니다 !!, 예, anyelse가이 질문을 읽는다면 문자는 2 번만 반복됩니다. –
@ DiegoVásquez, 대단히 영광입니다. – RomanPerekhrest
이 작업을 시도 할 수 있습니다 :
from itertools import groupby
input1 = "rruunnnniinngg"
final_string = ''.join(map(lambda x: x[:(len(x)/2)], [''.join(list(b)) for a, b in groupby(input1)]))
출력 :
'running'
단순히 할 수있다 while 루프를 사용하여 구현 :
- 출력 문자열의 현재 문자를 추가합니다.
- 날씨가 다음 문자가 현재 문자와 같은지 확인합니다.
- 예이면 여분의 1 단위로 카운터를 늘려 다음 문자를 건너 뜁니다.
def func(s):
i=0
p=''
while(i<len(s)-1):
p+=s[i]
if(s[i+1]==s[i]):
i+=1
i+=1
return p
문자가 3 번 발생할 경우 어떻게됩니까? – RomanPerekhrest
반복되는 문자가 인접하지 않으면 어떻게됩니까? – kdopen
RomanPerekhrest 및 kdopen 전에는 문자가 2 번 인쇄되는 코드가 있기 때문에 발생하지 않습니다 –