저는 많은 솔루션을 탐색했지만 어쨌든 아무 것도 작동하지 않습니다.Javascript가 이중 백 슬래시를 단일 백 슬래시로 바꿉니다.
s.replace(/\\\\/g, "\\$1");
s.replace(/\\\\/g, "\\");
그러나 어떤 결과를 없었을 : "i:0#.w|dev\\tauri;"
내가 JS 코드를 대체하기 위해 다음과 같은 노력했다
"i:0#.w|dev\tauri;"
로 :
나는 문자열 다음 교체해야합니다. 더블 아직 backshashed 그냥 \\
이 backshashes에 대한 작업 보인다 위해 \\\\
이 사용되어야한다처럼 그러나 "
s.replace(/\\/g, "\"");
honset되기 위하여 내 \\
교체 다음, 나는 정말이 논리 뒤에 혼란 스러워요 것 같습니다.
현재 Sharepoint 사용자 (i:0#.w|dev\tauri
)가 목록에 있는지 비교하기 위해이 작업을 수행해야합니다.
는 업데이트 : console.log();
사용 후
좋아, 내가 뭔가 흥미로운 것을 발견했다.
INCODE : var CurrentUser = "i:0#.w|dev\tauri";
및 CONSOLE.LOG() : i:0#.w|dev auri
...
C# 코드는 다음입니다 : 그래서
SPWeb theSite = SPControl.GetContextWeb(Context);
SPUser theUser = theSite.CurrentUser;
return theUser.LoginName;
처음 두 개가 아무 것도하지 않고's.replace (/ \\/g, "\" ");가'\\'를 하나의'''로 바꾸면, 당신은 오직 하나의 백 슬래시 문자열로 시작합니다. 디버거에 표시되는 내용과 문자열의 실제 백 슬래시 수를 혼동하지 마십시오. – JLRishe
가능한 중복 [이중 백 슬래시를 자바 스크립트에서 단일 백 슬래시로 바꾸기] (http://stackoverflow.com/questions/25304214/replace-double-backslashes-with-a-single-backslash-in-javascript) 참고 : [ "\\"를 C#의 문자열에서 "\"로 바꾸십시오 (http://stackoverflow.com/questions/7482360/replace-with-in-a-string-in-c-sharp) – JLRishe
하지만 문제는 , 대체하려고하지 않더라도 두 문자열을 비교하는 것은 여전히 거짓입니다 – Taurib