2017-12-14 24 views
-1

문자열 비교를 사용하여 작동이 성공적이라는 Assert에 대한 단위 테스트를 작성하고 있습니다. 내가 작업하고있는 문자열은 이스케이프가 필요한 많은 문자로 인코딩되어 있습니다. 각 문자열을 검토하고 수동으로 이스케이프 문자를 추가하는 것은 시간 소모적 인 작업입니다. 이러한 유형의 문자열을보다 편리하게 처리 할 수있는 방법이 있습니까? EscapeAll()과 같은 C# 기능을 상상하고 있지만 찾지 못했습니다. 여기 이스케이프가 많은 문자열을 처리하는 방법은 무엇입니까?

가 유출되는 엄청난 양을 필요로하는 문자열의 예입니다

<td class="name"><span id="153407 - 951"></span><a href="/statfeed/statfeed.php ? page = mlb/mlbteam & amp; teamid = SAN + FRANCISCO & amp; season = ">951 SAN FRANCISCO GIANTS</a></td><td id="ajaxUpdating - 153407 - 951 - Pitcher" class="pitcher ">(r) cueto, j</td><td class="line">8o20</td><td class="line"><a onclick="openLineMovement('20170630', '335310265', 'MLB'); " href="javascript:; ">8.5o15/8.5/8.5u20</a></td><td id="ajaxUpdating - 153407 - 951 - Current" class="currentline ">8o20</td><td id="ajaxUpdating - 153407 - 951 - Line" class="line ">+1.5(-194)</td><td id="ajaxUpdating - 153407 - 951" class="score finalscore"><span id="ajaxUpdating - 153407 - 951 - score" class="score first">13</span><span id="ajaxUpdating - 153407 - 951 - progress" class="score progress">Over 8</span></td>"; 
내가 파일에 문자열을 저장하고, 문자열 변수에서 파일을 읽을 수 아마도 생각

하는 I 그런 다음 Assert에 사용할 수 있습니다. 그러나 다른 한편으로는, 문자열 컨텐츠를 파일에 숨기고 싶지 않습니다. 테스트 픽스쳐가 포함 된 * .cs 파일 내의 문자열 내용을 직접 읽을 수있는 것이 훨씬 낫습니다. 내가 너무 많이 요구할 수도 있니?

+0

당신이 게시 한 것에 어떤 이스케이프 문자도 보이지 않습니다.'/'는 이스케이프 문자가 아닙니다. 그러나 하나의''\ "' – MethodMan

답변

1

Visual Studio에서 프로젝트 속성 페이지의 리소스 탭으로 이동하여 문자열 리소스를 추가 할 수 있습니다.이 페이지에서 문자열에 이름, 값 및 설명을 제공 할 수 있습니다. 값 열에 그대로 붙여 넣기하십시오. 그런 다음 코드에서 Resources.MyStringName으로 참조 할 수 있습니다. 상여로, 부호에 그것 저쪽에 공중 선회는 끈의 가치 높은쪽으로 튀어 나온다 (잘 긴 끈은 팝업에서 잘린 얻는다).

0

를 사용하여 원시 문자열 :

@"string with 
embedded new line"; 
1

그것은 각 문자열을 통해 이동 수동으로 이스케이프 문자를 추가 할 수있는 시간이 많이 소요입니다.

당신은 자세한 문자열

@"This is a ""verbose"" string" 

를 사용할 수있는 이중 따옴표 (""는) 자세한 문자열에 큰 따옴표 (")를 탈출하는 방법입니다. 은 IDE의 "바꾸기"도구를 사용하여 큰 따옴표로 원래 문자열의 값으로 바꿀 수 있습니다.

0

글자가 굵은 문자열 인 경우에도 따옴표를 두 번 눌러야합니다.

.Replace("\\", "\\\\").Replace("\"", "\\\""); 

할 것입니다 가장 쉬운 방법은 당신이 문자열을 붙여 넣은 다음 탈출 형태로 뱉어 수 있습니다 직접 표준 입력이나 파일에서 하나의 입력을 받아 별도의 콘솔 응용 프로그램을 만드는 것입니다