2013-10-24 3 views
-3

문자열에서 경로를 찾고이를 제거하려면 예 : string1 = "'c:\a\b\c'!MyUDF(param1, param2,..) + 'c:\a\b\c'!MyUDF(param3, param4,..)...", 패턴을 찾을 '[some path]'!MyUDF 정규식 싶습니다 및 제거 '[경로]'. 감사합니다.Regex를 사용하여 문자열에서 패턴을 제거하는 방법

예 : myUDF (param1, param2, ..) + 'c : \ a \ b \ c'! MyUDF (param3, param4, ..) "; 예상 출력 "MYUDF (PARAM1, PARAM2, ...) + MYUDF (3 당겨, param4, ...)"는 문자 만

+0

인''항상 문자열 :

그것을 사용하려면, 당신은 이런 식으로 뭔가를 할 수있다!? –

+1

당신은'내가 원하고''사용하고 싶다 '라는 질문 대신에 묻기를 고려할 것인가 – Jonesopolis

+0

입력 내용과 예상 출력에 대해 더 자세히 설명해주십시오. –

답변

4
input=Regex.Replace(input,"'[^']+'(?=!MyUDF)",""); 

경로는 다음 경우! 당신이 제안으로 ! 문자열 항상 경우 다른 단어를 사용하면,

input=Regex.Replace(input,@"'[^']+'(?=!\w+)",""); 
+0

나는이 질문에 너무 열심히 질문하기 때문에 내 인생에 내기를 걸지는 않겠지 만, 나는 'MyUDF'가 어떤 문자열이 될 수 있다고 믿는다. –

+0

@neoistheone 실제로 .. ans를 편집했습니다. op는 이것에 대해 분명히해야합니다. – Anirudha

+0

죄송합니다. MyUDF는 단순히 함수 이름이므로 문자 만 있습니다. 감사 – toosensitive

0

당신이 원하는 기능으로 구성되어 있으므로 MYUDF 함수 이름을 경우입니다 당신은 System.Path에 파일 경로를 다루고 있습니다.

거기에는 여러 가지 방법이 있지만 그 중 하나는 특정 목적입니다. 경우

1

좋아 사용할 수 있습니다,이 정규식 !(.*)?\( 당신이 원하는 무엇을 얻을 것이다. 그것을 증명할 Regex 101입니다.

var result = Regex.Replace(myString, @"!(.*)?\("); 
관련 문제