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

我想在我的文本中找到最后一个“,”的索引,然后删除它,但它不起作用。任何想法? txtBeautified是一个richtextbox。为什么这些行不能在字符串中操作

+0

我们需要更多详细信息。向我们展示更多代码。这应该工作正常。 '.Remove()'返回正确的字符串。必须是您的txtBeautified.Text值的问题或您分配方式的问题。 – Chev 2011-03-14 14:40:57

+0

添加到您的答案,检查删除的签名,它返回一个字符串 - 这是一个新的字符串与值被删除。原始字符串不变。 – Massif 2011-03-14 14:42:55

+1

1代表+用户名aaaaaaaaaaaa =可能得到答案,再也不会被听到。 – Chev 2011-03-14 14:43:45

回答

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 2011-03-14 14:41:14

5

删除是一项功能。呼应该是:

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

请记住,一个字符串是不可改变的,所以Remove函数返回你一个新的字符串。您需要将该新字符串重新分配回文本框,例如:

txtBeautified.Text = txtBeautified.Text.Remove(txtBeautified.Text.LastIndexOf(","), 1); 
相关问题