내가목록
var target = new List<string>() { "C", "C-sharp", "java" };
내가 문자열 요청을 보내고있어 같은 문자열의 목록을 데에 문자열과 일치하는 방법 = 는
이 "C 프로그래밍 언어입니다" 목록은 문자열과 일치해야하며 반환해야
C,C-sharp
어떻게 캘리포니아 이럴 수있어? Linq에와 String.Contains
사용
내가목록
var target = new List<string>() { "C", "C-sharp", "java" };
내가 문자열 요청을 보내고있어 같은 문자열의 목록을 데에 문자열과 일치하는 방법 = 는
이 "C 프로그래밍 언어입니다" 목록은 문자열과 일치해야하며 반환해야
C,C-sharp
어떻게 캘리포니아 이럴 수있어? Linq에와 String.Contains
사용
:
target.RemoveAll(str => !str.Contains("C"));
당신이 정말로 (더 복잡한 뭔가를) 정규식을해야하는 경우 : Linq를하지 않고
var filtered = target.Where(str => str.Contains("C"));
또 다른 옵션은, List<T>.RemoveAll
를 사용하여 기존 목록을 변경하는 것입니다 다음을 사용할 수도 있습니다.
Regex validate = new Regex(".a.", RegexOptions.IgnoreCase);
var filtered = target.Where(str => validate.Match(str).Success);
그는 'c'와 일치하면 단어의 첫 번째 색인을 선택하고 어떤 단어도 목록에서 'c'를 포함하지 않습니다. –
@mekici - 순수한 추측이지만 쉽게 적용 할 수 있습니다. ':)'(음 ... 나는 바보 같은 "오류"에 대해 downvoted을 얻지 않기를 바라고, 실제 질문은 목록을 필터링하는 것입니다 ...) – Kobi
여기 있습니다. lluq과 lution
var m = from t in target
where t[0] == 'C'
select t;
왜 이것을 위해 정규식이 필요합니까? 'string.StartsWith'는 괜찮습니다. – leppie
귀하의 질문은 모호하지만 의견과 첫 번째 대답 모두에 답변을드립니다. regex를 사용하는 것은 비효율적이므로 피해야합니다. – FailedDev