2011-11-25 3 views
4

다음과 같은 문자열이 있습니다. "/ AuditReport" 변수 rep에 할당됩니다. 내가 뭔가 "/ uditReport"대신 원하는 "AuditReport"를 반환C에서 문자열에서 슬래시를 제거하는 방법 #

var r = rep.SysName.Remove(1, 1); 

를 입력하면, 즉 그것은 슬래시를 제거하지 않습니다. 어떻게 제거 할 수 있습니까?

+10

'/'는 슬래시이고 \는 백 슬래시입니다. –

답변

17

.NET의 문자열 색인은 0부터 시작합니다. Remove에 대한 설명서는 첫 번째 인수가 "문자 삭제를 시작할 0 기준 위치"임을 명시하고 있습니다. 당신이 가능하게 당신의 요구 사항에 따라 TrimStart을 사용할 수,

string r = rep.SysName.Substring(1); 

또는 :

string r = rep.SysName.Remove(0, 1); 

또는 Substring를 사용하여 내 의견으로는, 더 읽을 수 있습니다. 인덱스는 0 기반

string r = rep.SysName.TrimStart('/'); 
+0

네, 알겠습니다. 누가 처음 이었는지 알아 내려고 애썼다. –

+0

압바스가 먼저 였고 그는 내 표를 얻었다. –

+0

LukeH 고맙습니다. – Liker777

6

시도 :

var r = rep.SysName.Remove(0, 1); 
+1

lol, 4 개의 동일한 답변 :) + 1 ~ 1 번째. –

+0

덕분에 도움이 됨) – Liker777

4

당신이 필요합니다

var r = rep.SysName.Remove(0, 1); 

첫 번째 매개 변수는 두 번째는 제거 할 문자의 수, 시작이다. (1,1)은 첫 번째 문자가 아니라 두 번째 문자를 제거합니다.

2

(단,. 당신의 문자열이 여러 개의 연속 슬래시로 시작하면 다음 TrimStart 그들 모두를 제거 않습니다), 그래서 당신은 두 번째 문자를 제거한다. 대신

var r = rep.SysName.Remove(0, 1); 
0

"/AuditReport".Replace("/","")은 무엇입니까? .NET에서

+0

그것은 텍스트의 모든 슬래시를 대체 할 것이고, OP는 오직 앞의 슬래시를 제거하기를 원할뿐입니다. – Fischermaen

0

문자열 인덱스는 그래서, 기초 제로 :

string r = rep.SysName.Remove(0, 1); 

은 또한 사용할 수 있습니다

string r = rep.SysName.Substring(1); 
0

당신은 var r = rep.SysName.Remove(0, 1);를 작성해야합니다. 나는 VisualBasic 배경 (나와 같은 :-)), 배열, 문자열 등이 1 대신 0 인 인덱스로 C#으로 시작한다고 생각합니다.

관련 문제