2011-03-14 2 views
2
txtBeautified.Text.Remove(txtBeautified.Text.LastIndexOf(","), 1) 

텍스트의 ","의 마지막 색인을 찾고 제거하려고하지만 작동하지 않습니다. 어떤 아이디어? txtBeautified는 richtextbox입니다.이 줄은 문자열에서 작동 할 수없는 이유는 무엇입니까?

+0

자세한 내용이 필요합니다. 더 많은 코드를 보여주세요. 이것은 잘 작동해야합니다. '.Remove()'는 올바른 문자열을 반환합니다. 'txtBeautified.Text' 값이나 할당 방법에 문제가 있어야합니다. – Chev

+0

귀하의 답변에 추가, 제거의 서명을 확인, 그것은 문자열을 반환 - 이것은 값이 제거 된 새로운 문자열입니다. 원래 문자열은 변경되지 않습니다. – Massif

+1

1 명 + 사용자 이름 aaaaaaaaaaaa = 답변을 얻었지만 결코 다시는 소식이 전해지지 않습니다. – Chev

답변

9

작업 결과를 검색하고 있습니까? 텍스트 상자의 값을 변경하는 경우

value = txtBeautified.Text.Remove(txtBeautified.Text.LastIndexOf(","), 1) 

, 당신은 다시 텍스트 상자에 결과를 할당해야합니다

txtBeautified.Text = txtBeautified.Text.Remove(txtBeautified.Text.LastIndexOf(","), 1) 

설명 : 문자열은 변경할 수 없습니다. 문자열에서 작동하는 함수는 문자열을 변경하지 않지만 새 문자열을 반환합니다. 따라서 Remove 함수는 결과를 나타내는 문자열을 반환합니다. 이 문자열을 사용하려면 변수/속성에 할당하거나 다른 함수 호출에 전달해야합니다.

+1

설명 : http://social.msdn.microsoft.com/Forums/en-US/vssmartdevicesvbcs/ 스레드/bb616ec1-5d53-4b91-8cb0-b11498b7c07a – dhirschl

5

제거는 기능입니다. 호출해야 다음 Remove 기능은 당신에게 새로운 문자열을 반환 있도록

txtBeautified.Text = txtBeautified.Text.Remove(txtBeautified.Text.LastIndexOf(","), 1) 
1

이 문자열은 불변 알아 두셔야합니다. 새 문자열을 텍스트 상자에 다시 할당해야합니다. 예 :

txtBeautified.Text = txtBeautified.Text.Remove(txtBeautified.Text.LastIndexOf(","), 1); 
관련 문제