주어진 파일에서 *로 시작하는 모든 줄을 제거하고 싶습니다. 그래서 예를 들어, 다음Regex + Python - a로 시작하는 모든 줄 제거 *
* This needs to be gone
But this line should stay
*remove
* this too
End
이 발생해야 :
But this line should stay
End
은 내가 궁극적으로해야 할 것은 다음
- 괄호 안에 모든 텍스트를 제거하고 대괄호 (괄호/괄호 포함),
- 위에서 언급 한 바와 같이 li nes는 ''로 시작합니다.
지금까지 # 1을 다음 주소로 지정할 수있었습니다 : re.sub(r'[.?]|(.*?)', '', fileString)
. 나는
해결 방법 1 (아무 정규식)
>>> f = open('path/to/file.txt', 'r')
>>> [n for n in f.readlines() if not n.startswith('*')]
해결 방법 2 (정규식)
싶지 않지만 항상 일을 제거 결국 # 2에 대한 몇 가지 시도>>> s = re.sub(r'(?m)^\*.*\n?', '', s)
도움을 주신 모든 분들께 감사드립니다.
그래서 지금까지 무엇을 생각해 냈습니까? – kaveman
궁극적으로해야 할 일은 다음과 같습니다. 1 - 괄호 안의 모든 텍스트를 제거하고 (괄호/괄호 포함), 2 - 위에서 언급 한 바와 같이 \ *로 시작하는 줄을 제거하십시오. 지금까지 나는 re.sub (r '\ [. *? \] | \ (. *? \)', '', fileString)와 함께 # 1을 처리 할 수있었습니다. 나는 # 2를 위해 여러 가지를 시도했지만 항상 원하지 않는 것들을 제거했다. –
나는 그것을 쉽게 읽을 수 있도록 질문에 옮겼습니다. 간단한 것들을 위해, 당신은 regex를 사용하는 것을 피할 수 있고, 내장 된 str 메소드를 사용할 수 있습니다 :'if not line.lstrip(). startswith ('*')' –