2011-01-13 5 views
6

문자열의 마지막 문자를 제거하려고합니다. 이 마지막 문자는 줄 바꿈 (System.Environment.NewLine)입니다.문자열의 마지막 문자 제거 (VB.NET 2008)

나는 몇 가지 시도를했지만 제거 할 수 없습니다.

예 :

myString.Remove(sFP.Length - 1) 

예 2 : 나는 그것을 할 수있는 방법

myString= Replace(myString, Environment.NewLine, "", myString.Length - 1) 

?

답변

16

개행 문자가 CR LF 인 경우 실제로는 2 개의 연속 문자입니다. Remove 전화를 Length - 2으로 시도해보십시오. , 줄 바꿈 (

str.TrimEnd(vbCr, vbLf) 

모든 공백 문자를 제거하려면 : 당신은 문자열의 끝에서 모든 "\ n을"과 "\ r에"문자를 제거하려면

는 문자를 전달 TrimEnd를 호출 시도 탭, 공백, ...) 그냥 아무 것도 지나치 지 않고 TrimEnd으로 전화하십시오.

+0

처럼, VB 문자열을 변경할 수 있습니다. –

+0

@Konrad 물론! 이제 생각해 보면, 특히 혼란 스럽기 때문에이 질문에서 실제로 지적하는 것이 중요합니다. 명확히하기 위해, * statement *가 아닌 * expression *을 제공하려고했습니다. 'str' 변수는 수정하지 않습니다. 반환 값은 별개의 문자열입니다. 변수를 변경하려면'str = str.TrimEnd()'와 같은 것을 사용해야합니다. –

+1

확인. 고맙습니다. 귀하의 예제를 다음과 같이 해결했습니다 : myString = myString.Remove (mystring.Length - 2) – aco

3
Dim str As String = "Test" & vbCrLf 
str = str.Substring(0, str.Length - vbCrLf.Length) 

대신 vbCrlf의 Environment.NewLine와 동일한 :

str = "Test" & Environment.NewLine 
str = str.Substring(0, str.Length - Environment.NewLine.Length) 

, BTW 차이이다 Environment.NewLine 특정 플랫폼이다

(FE 다른 OS에 다른 문자열을 반환) 이 함수의 반환 값을 원래 문자열 참조에 지정하지 않았으므로 remove -approach가 작동하지 않았습니다.

str = str.Remove(str.Length - Environment.NewLine.Length) 

또는 모든 줄 바꿈을 바꾸려면 :

str = str.Replace(Environment.NewLine, String.Empty) 
-1

사용 : C#에서

Dim str As String 
str = "cars,cars,cars" 
str = str.Remove(str.LastIndexOf(",")) 
관련 문제