형식 문자열을 검증하는 방법
-
16-09-2019 - |
문제
우리는 자원 파일에 형식을 포함하는 많은 문자열을 가지고 있습니다.
"{0}은 {1}으로 이동했습니다."
이 문자열은 전달됩니다 String.format () 응용 프로그램에 의해 번역기는 때때로 "형식 마커"를 엉망으로 만들므로 리소스 파일의 모든 문자열에 유효한 형식이 있는지 확인하는 도구를 찾거나 쓰려고합니다.
각 키에 대해 string.format로 전달되는 Args의 수를 알고있어 유효성 검사에도 공급할 수 있습니다.
따라서 "{"일치 "}"가 형식 문자열에서 대부분의 오류를 쉽게 찾을 수있는 방법이 있습니까?
(.NET을 사용하고 있습니다.이 확인은 물론 빌드 프로세스의 일부로 수행됩니다)
해결책 3
나는 합리적인 결과를주는 간단한 솔루션을 생각해 냈으며, 형식 문에 대한 인수의 수는 있지만 인수의 유형은 아닙니다. 그러나 대부분의 논쟁은 현입니다.
그래서
if (numberOfArguments == 3)
{
try
{
String.Format(theTranslatorString, "", "", "")
}
catch
{
// tell the translator there is a problem with the string format
}
}
물론 이것은 실생활의 각 논쟁에 대해“만약”없이 쓰여질 것입니다.
다른 팁
이것은 고전적인 단위 테스트 시나리오처럼 들립니다. 소스 코드 커밋 트리거에서 자동화 된 빌드/단위 테스트를 구동 할 수 있습니까? 단위 테스트는 단순히 각 형식 문자열이 여전히 구문 분석 할 수 있는지 확인합니다.
표현식의 문자열을 검증하는 것처럼 보이므로 사용해야합니다. 정규 표현보다 링크 텍스트
제휴하지 않습니다 StackOverflow