2017-03-16 1 views
0

OpenRefine이있는 셀에서 특정 단어 ("am") 다음에 나오는 모든 것을 제거하고 싶습니다.OpenRefine에서 특정 단어 다음에 오는 모든 것을 제거하십시오.

내 데이터 :

워크샵 메신저 라멘 데 Weiterbildungsprogramms 2015 년 02 11월입니다

브레인 스토밍 오전 09 11월 2015 브레멘

에서

워크샵 2015 (17) 11월이다 "bewerten Auswählen 싶게" 함부르크에서

정규식의 예 : [\n\r].*am\s*([^\n\r]*)

여기에 실제 적용됩니다.

그래도 작동합니다. 나는 다음과 같은 결과를 얻고 싶다.

워크샵 메신저 라멘 데 Weiterbildungsprogramms

워크샵 "bewerten Auswählen 싶게를"브레인 스토밍

나는 시도 : value.replace(/[\n\r].*am\s*([^\n\r]*)/, '')

문제는 내가 너무 많은 정규식 아니다 필요한 경우 두 번째 단계에서 "am"을 제거 할 수 있습니다. 하지만 나는 value.replace와 함께 정규 표현식을 사용할 수 없습니다.

답변

1

Python/Jython으로 시도해주세요.

import re 
return re.sub(r"am.+","", value) 

저는 파이썬의 정규 표현식이 종종 GREL의 정규 표현식보다 더 일관성이 있다고 생각합니다. 그러나 GREL을 사용하려면이 방법이 효과가 없습니까?

value.replace(/\s+am.+/, '') 

나는 당신이 (당신은 단지 당신이 필요로하는 문자열을 일치시킬 수 있습니다) 및 value.replace() (후 원하는 문자열을 선택하고 셀의 전체 문자열과 일치 할 필요) value.match()의 구문을 믹싱 생각합니다.

+0

감사합니다, 그 작품도! –

+0

아니요 :이 답변은 15 시간 전 작동했으며 승인 된 응답도 있습니다.) –

+1

죄송합니다. –

1

이 문제는 누락, 실제로 매우 간단하다 . 전에 * 모든 후행 물건, 지금 당신의 정규식이 am 다음과 같다 0 이상의 공백을 말하고,하지만 당신이 후 다른 모든 것들을 정리할를 제거하기 그것은 ...이 작품 :

value.replace(/\sam.*/,'') 

enter image description here

+0

고마워, 그거야! –

관련 문제