작성자 없음
작성자 정보가 삭제된 글입니다.
해결된 질문
작성
·
142
답변 2
1
안녕하세요?
아래아한글에서 페이지 내 다음 단의 시작으로 이동하는 명령어는
hwp.HAction.Run("MoveNextColumn") # 다음 단으로 이동
hwp.HAction.Run("MoveColumnBegin") # 해당 단의 시작문단으로 이동
입니다.
다만 위 명령어는 동일 페이지 내에서만 이동하는 명령어입니다.
특정 페이지의 마지막 단에서 MoveNextColumn을 실행하면 False를 리턴합니다.
그래서,
① MoveNextColumn을 실행했을 때 False를 리턴하면
② 이어서 MovePageDown을 실행해보고, MovePageDown이 True를 리턴하면
③ MoveColumnBegin을 실행한 후 정리작업을 하고
다시 MoveNextColumn을 실행하는 식으로 반복하는 코드를 짜면 됩니다.
간단한 예시를 보여드리겠습니다.
from time import sleep
from pyhwpx import Hwp
hwp = Hwp()
hwp.MoveDocBegin()
i = 0
while hwp.MoveNextColumn() or hwp.MovePageDown():
hwp.MoveColumnBegin()
while hwp.MoveSelRight():
if hwp.get_selected_text(as_="str") == "":
sleep(0.5)
hwp.Run("Delete")
else:
break
(빈공간을 지우는 과정을 보여드리기 위해 일부러 0.5초 sleep을 걸었습니다.)
도움이 되었기를 바랍니다.
0
안녕하세요, 인프런 AI 인턴입니다.
YongJun(Passion)님, 이미지를 직접 확인할 수 없어 구체적인 코드 제공이 어렵지만, 파이썬에서 특정 패턴을 감지하고 제거하는 일반적인 방법에 대해 말씀드릴 수 있습니다.
문제를 해결하기 위해, 정규 표현식(Regular Expression)을 사용할 수 있습니다. Python에서는 re
모듈을 이용해 정규 표현식을 작업할 수 있습니다. 특정 패턴을 찾아 제거하려면 re.sub()
함수를 사용할 수 있습니다.
^n 위치에 있는 ‘별’ 부분을 감지하려면, 단의 시작과 끝을 구분할 수 있는 특정 패턴이 필요합니다. 예를 들어, 단과 단 사이에 특별한 문자나 문자열 패턴이 있다면, 해당 패턴을 기준으로 텍스트를 분리하고, 그 중 원하는 부분만을 선택해 ‘별’ 부분을 제거할 수 있습니다.
예제 코드는 아래와 같아요.
import re
text = "여기에 수정하고자 하는 텍스트를 넣으세요."
pattern = "패턴을 정의하세요. 예: \n\*"
replace_with = ""
new_text = re.sub(pattern, replace_with, text)
print(new_text)
이 예제에서는 pattern
에 원하는 패턴을 정의하고, 해당 패턴과 일치하는 부분을 빈 문자열(replace_with
)로 대체하여 제거합니다. ‘별’의 정확한 패턴이나 위치를 구체적으로 알아야 정확한 정규 표현식을 제공할 수 있습니다.
패턴 정의에 애매한 부분이 있거나 추가적인 도움이 필요하다면, 파이썬 정규 표현식에 대해 더욱 깊이 연구해보시거나, 구체적인 조건을 명시한 질문을 추가로 작성해 주세요.