2016-11-26 1 views
0

에서 여러 다른 단어를 추출 :정규식은 나에게 형식의 무언가 제공 내가 정규식을 찾고 문자열

"코어 i7 익스트림 에디션"또는 "코어 I3"또는 "아톰"또는 "펜티엄"

"인텔 ® 코어 ™ i7-6950X 프로세서 익스트림 에디션", "인텔 ® 코어 ™ i3-6300T 프로세서", "인텔 ® 아톰 ™ 프로세서 D2550"또는 "인텔 ® 펜티엄 ® 프로세서 G4400" 또는 "인텔 ® 코어 ™ 2 듀오 프로세서 E6400"또는 "인텔 ® 코어 ™ 2 익스트림 프로세서 QX6800"또는 "인텔 ® 코어 ™ 2 쿼드 프로세서 Q9400S".

제품 이름에서 특별한 식별 기능을 읽고 싶습니다.

나는 실현하는이의 라인을 따라 뭔가 : 코어 | I3 | I5 | i7의 | 아톰 | 펜티엄 | \ S4 \의 | 셀러론 | 익스트림 에디션

완벽한 세상에서 내가 원하는 걸 줄 것이다 , 아무것도 추가되지 않습니다.

만들 수 있습니까? 그것이 C#을 사용하고 있지만, 매우 일반적인 환경에 있고 문자열과 정규 표현식 만 가지고 있다면 아무 것도 추가하지 않습니다.

당신이 정규식을 시도 할 수 있습니다

답변

1

:

Intel® | Processor|®|™|[ -][A-Z]*\d{4}[A-Z]* 

을 (regex101 참조) 그리고 빈 문자열 ""로 교체합니다. 이렇게하면 원하지 않는 부분이 모두 제거되고 제거됩니다.

string pattern = @"Intel® | Processor|®|™|[ -][A-Z]*\d{4}[A-Z]*"; 
string substitution = @""; 
string input = @"Intel® Core™ i7-6950X Processor Extreme Edition"; 
Regex regex = new Regex(pattern); 
string result = regex.Replace(input, substitution); 
+0

거의 완벽하게 작동하지만 "인텔 ® 코어 ™ 2 쿼드 프로세서 Q9400S"에서 "2"후 "2"숫자가 누락 된 "에지"사례가 하나 있습니다. –

+0

그것은 regex101에서 작동하지만 이상한 ... –

+0

http://prntscr.com/dc0w9c에서 regex101 http://prntscr.com/dc0wkx Visual Studio의 디버그 예제에서. 나는 당신과 비교하여 뭔가 잘못하고있을 것입니다. –

관련 문제