형식화 된 문자열 입력을 캡처하는 프로그램이 있습니다. 입력 내용은 다음과 같습니다.정규식, 세트의 숫자가 달라짐
{1, 2, 3, 4, 5, 6, 7}
모두가 세트 안에있는 경우 숫자가 다를 수 있습니다. 예 :
{1, 2, 3}
{1, 2, 3, 4}
모두 유효합니다. 그러나 그 세트 내의 각 번호에 액세스 할 수 있어야합니다. 다음 코드가 있습니다
Match match = Regex.Match(input, @"\{(\d,\s)*(\d)\}", RegexOptions.IgnoreCase);
if (match.Success)
{
String s;
for(int i = 0; i < match.Groups.Count; i++)
{
s = match.Groups[i].Value;
// Do actions here
}
}
일치하는 항목이 있지만 세트 내에서 마지막 번호와 마지막 번호 만 액세스 할 수 있습니다. 세트의 각 멤버에서 값을 읽을 수 있기를 바랍니다. 이 일을 어떻게 하죠? 정규식 이외의 다른 것이 더 잘 작동할까요?
이 모든 정규 표현식에 악명 읽기 어려운 후, 이해하기 아마도 간단 접근 방식이다. 그러나 쉼표 사이의 각 항목이 실제로 숫자임을 개별적으로 확인해야하므로 복잡한 코드로 이어질 수도 있습니다. * 가능성이 * 물론 이것은 또한 검증되어야하지만 덜 효율적입니다. – DeCaf
우리는 입력이 정수라고 가정합니다. 적어도 지금은 고맙게도 말입니다. 이것은 아름답게 작동하고 C#이 split() 함수와 함께 제공된다는 것을 알지 못했습니다! 감사합니다! – shmeeps