2014-11-08 1 views
0

사이 인 경우에만 어떻게 수 I 분할 별도의 단어로이 주어진 문자열 -정규식 ","쉼표에 문자열을 분할,하지만 쉼표는하지의 자리

주어진 문자열의 = "소비자 노트, 주 소비자 포럼, 루피 .50,000는 penatly ICICI, 안드라 프라데시에 대하여 "[", "주 소비자 포럼", "penatly ICICI에 대한 Rs.50,000", "안드라 프라데시"소비자 노트]

나는 결과가 =되고 싶어 "

나는 정규 표현식에서 초보자이며 이것을위한 정규 표현식을 쓸 수 없다.

현재 나는 또한 숫자 2 개 부분으로 루피 50,000 분할로이

s = "Consumer notes, State Consumer Forum, Rs.50,000 penatly against ICICI,Andhra Pradesh" 
result = set(w for w in s.split(r',')) 
print result 

result:- 
set(['Andhra Pradesh', ' Rs.50', 'Consumer notes', '000 penatly against ICICI', ' State Consumer Forum']) 

이 나에게 5 개 단어를 제공하고있는 중이 야. 그리고 나는이 분할을 원하지 않는다. 어떻게 해결할 수 있습니까?

답변

5
In [1]: s = "Consumer notes, State Consumer Forum, Rs.50,000 penatly against ICICI,Andhra Pradesh" 

In [2]: import re 

In [3]: re.split(r'(?<!\d),(?!\d)',s) 
Out[3]: 
['Consumer notes', 
' State Consumer Forum', 
' Rs.50,000 penatly against ICICI', 
'Andhra Pradesh'] 

너무 , 후 공백을 제거하는 re.split(r'(?<!\d),\s*(?!\d)',s)를 사용할 수 있습니다.

+0

감사합니다. 그것은 효과가 있었다. 당신의 대답을 이해하고 장래에 그러한 정규 표현식을 쓸 수 있도록 좋은 참고 문헌을 줄 수 있습니까? 나는 또한 시작에서 오는 공간을 어떻게 든 제거 할 수 있습니까? 알아, 나는 strip()을 사용할 수있다. 다른 방법이라도? – mridul

+0

@mridul https://docs.python.org/2/library/re.html은 매우 훌륭한 참고라고 생각합니다. 내가 대답에 사용한 것 : 부정적인 시각과 부정적인 시각. – Kent