여러 문자열을 확인하고 여러 번 수정해야하므로 (검색 및 다른 일련 번호 바꾸기) 한 문자열이 필요하지만 제대로 작동하지 않습니다. 나는 불변성 때문에 그것을 추측한다.루핑 통역 문자열 - 불변의 문제
private string DoRegexCheck(string line)
{
string pattern;
foreach (string re in this.regexPatterns.Items)
{
pattern = re;
Regex r = new Regex(pattern, RegexOptions.IgnoreCase);
line=r.Replace(line, ""); //the line should be updated and the check should continue with updated line
}
return line;
}
이상하게 작동해야합니다. Immunability는 문제가되어서는 안된다 :'Regex.Replace'는 단순히'line' 변수에 할당 될 ** 새로운 ** 문자열 인스턴스를 생성 할 것입니다. * 잘 작동하지 않습니다. * 무엇을 의미합니까? 뭐가 문제 야? –
@Pavel Gatilov : 시퀀스를 대체하지는 않지만 하나씩 시도해도 작동했습니다. – user970696
"내 줄이 바뀌지 않았다"는 뜻이라면 간단히 : 정규식 패턴이 잘못되었습니다. 행을 업데이트하는 코드가 좋습니다. 재생산에 사용할 수있는 샘플 샘플 데이터 (샘플 '줄', 몇 가지 샘플 패턴 및 원하는/실제 출력)를 보여주십시오. –