2016-09-28 5 views
-2

나는 다음과 같은 방법으로 문자열을 해체하기 위해 노력 해왔다에서 알려진 문자열을 뺄 방법 :큰 문자열

전체 문자열

str = 'Hello world I am Bob' 

하위 문자열 1

sub_str1 = 'Hello world' 

하위 문자열 2

sub_str2 = 'world I' 

가 원하는 결과는 : 문자열 1 사용

  1. :

    얻을 몇 가지 정규 표현식을 적용합니다

    answer = ' I am Bob' 
    
  2. 문자열이 사용 :

    answer = 'Hello I am Bob' 
    

정규 표현식을 사용하여 여러 가지 다른 방법을 시도했지만 방금 사용하기 시작했으며 능숙하지 않습니다.

+1

[Regexr.com] (http://regexr.com)에 대한 –

+0

@VinnieJames 감사 이것을 정렬 중대하다 그 웹 사이트! 네가 준 웹 사이트를 검색 할 때 찾은 [regex101.com] (http://regex101.com)과 그 사이에 나는 정규 표현식에 대해 좀 더 이해할 수 있다고 생각한다. – aacealo

+0

굉장! 사이트의 사이드 바를 확인하면 모든 것을 매우 명확하게 설명합니다. –

답변

9

다른 문자열과 함께 replace 부분 문자열을 사용할 수 있습니다.

"Substracting" 빈 문자열로 문자열을 대체 할 것 :

>>> 'Hello world I am Bob'.replace('Hello world', '') 
' I am Bob' 
+0

감사합니다. 나는 이것이 당신이 정규 표현식보다 더 빠르다고 생각하는지 알고 싶을뿐입니다. 테스트에는 timeit을 사용 하겠지만 같은 일을 수행하는 정규 표현식을 이해할 수는 없습니다. – aacealo

+1

's/Hello world //'는 대체 정규 표현식 – Geoff

+0

@aacealo "Hello world"를 찾는 정규 표현식은 "Hello world"입니다. rege ('Hello world', '', 'Hello world I Bob')'와 같은 sam 일 것입니다. 나는 그것을 시간 지키지 않았다, 그러나 나는 정규 표현식이 훨씬 느리다는 것을 확신한다. regex를 사용하는 유일한 이유는보다 복잡한 작업을 원할 때입니다. 're.sub (r '^ * \ w + + \ w ++,' ','Hello world I Bob ')' – zvone