Playfair Cipher를 사용하여 암호화 할 문자열의 구두점 및 공백을 모두 제거하려고합니다. 이 라인이 왜 작동하지 않는지 나는 알 수 없다.Regex를 사용하여 문자열에서 구두점 및 공백 제거
s = Regex.Replace(s, @"[^\w\s]", string.Empty);
Playfair Cipher를 사용하여 암호화 할 문자열의 구두점 및 공백을 모두 제거하려고합니다. 이 라인이 왜 작동하지 않는지 나는 알 수 없다.Regex를 사용하여 문자열에서 구두점 및 공백 제거
s = Regex.Replace(s, @"[^\w\s]", string.Empty);
[^\w\s]
수단은 단어 나 공백 문자 아니에요 아무것도 제거합니다.
대신을 시도해보십시오
s = Regex.Replace(s, @"[^\w]", string.Empty);
당신은 또한 사용할 수 있습니다 사람들이 단어의 문자로 간주됩니다으로 밑줄을 떠나 물론
s = Regex.Replace(s, @"\W", string.Empty);
. 뿐만 아니라 사람들을 제거하려면 다음을 수행하십시오
s = Regex.Replace(s, @"[\W_]", string.Empty);
또는이 :
는s = Regex.Replace(s, @"\W|_", string.Empty);
^
문자는 의미 없습니다. 영숫자가 아닌 모든 것을 하이픈으로 대체하기 위해 [^A-Za-z0-9-]
을 사용합니다.
Regex 대신 Linq를 사용하는 것은 어떻습니까?
string str = "abc; .d";
var newstr = String.Join("", str.Where(char.IsLetterOrDigit));
가장 좋은 방법은 \w
가 _
내가 너희를 유지하려는 않을 것 같은데요 0-9
를 포함하고 있기 때문에 아마 [^A-Za-z]
을 사용하는 것입니다.
다음 정규식은 a-z
또는 A-Z
이 아닌 내용을 제거합니다.
와우, 나는 그것을 놓친 것을 믿을 수 없다. 고마워. – Gander7