문자열의 단어를 역순으로 일치시키고 싶습니다.문자열의 순서와 정규 표현식을 일치 시키려면
이름이 역순으로 존재하는 경우 사용자에게 확인을 요청했습니다. 예를 들어
: name
열은 값을 갖는다
경우 '바이러스, 테니스'
이제 사용자가 값 '테니스 바이러스'이어서으로 새 이름을 입력하면
정규식 또는 다른 방법을 사용하여 단어의 역순을 어떻게 일치시킬 수 있습니까?
개발 용으로 C# .net을 사용하고 있습니다.
문자열의 단어를 역순으로 일치시키고 싶습니다.문자열의 순서와 정규 표현식을 일치 시키려면
이름이 역순으로 존재하는 경우 사용자에게 확인을 요청했습니다. 예를 들어
: name
열은 값을 갖는다
경우 '바이러스, 테니스'
이제 사용자가 값 '테니스 바이러스'이어서으로 새 이름을 입력하면
정규식 또는 다른 방법을 사용하여 단어의 역순을 어떻게 일치시킬 수 있습니까?
개발 용으로 C# .net을 사용하고 있습니다.
당신과 같이 뭔가를 Regex.Split(String input, String regex)를 살펴보고 할 수있는 :
String[] userEntry = Regex.Split(userString, "\\s+");
StringBuilder sb = new StringBuilder()
for (int i = userEntry.Length -1; i >= 0; i--)
{
sb.append(userEntry[i]).append(" ");
}
String result = sb.ToString();
//Do Validation
그러나, 당신이 일이 당신이 경우에 조금 혼란스러워 것이다 명심해야 트릭을 할 것
쉼표와 같은 특수 기호의 순서를 변경하고 싶지는 않습니다. 특수 기호없이 쉽게 제거하고 유효성 검사를 수행 할 수 있습니다.
편집 : 특수 기호의 의미에 따라 다릅니다. 정규식 [^a-zA-z0-9]+
은 문자 (대소 문자)가 아니며 숫자가 아닌 문자와 일치합니다. 따라서 다음과 같이 쉽게 할 수 있습니다.
string input = ...
string pattern = "[^a-zA-z0-9]+";
string replacement = "";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, replacement);
위의 내용은 문자와 숫자로만 이루어진 문자열을 생성해야합니다. 공백도 제거됩니다.
단어 *의 역순을 매치하는 것이 무엇을 의미합니까? – aioobe
아마도, 사용중인 언어를 추가 할 수 있습니까? – Shubham
나는 문자열을 나누는 것이 좋을 것이라고 생각하고 그 반대 방향으로 반복한다. – npinti