如何在ASP.NET中替换drpFPortofCall.SelectedValue.ToString中的数值?
提取字符串中~符号前的内容
你的需求是从类似AEJEA~12060、INNSA~12430的字符串里,只保留~符号前面的字母部分。之前用Replace方法只是去掉了~,但数字还留在字符串里,所以达不到预期效果,这里给你两种可行的实现方式:
方法一:使用Split分割字符串
这是最简单的方式,直接按~把字符串拆分成数组,取第一个元素即可:
Dim frmport As String = drpFPortofCall.SelectedValue.ToString() frmport = frmport.Split("~"c)(0)
不管~后面跟着什么内容,这种方法都会直接截取前面的部分。
方法二:使用IndexOf+Substring组合
如果需要考虑字符串中可能没有~的情况,这种方式更稳妥:
Dim frmport As String = drpFPortofCall.SelectedValue.ToString() Dim tildePosition As Integer = frmport.IndexOf("~") ' 只有找到~符号时才截取,否则保留原字符串 If tildePosition > -1 Then frmport = frmport.Substring(0, tildePosition) End If
先定位~的位置,确认存在后再截取从开头到该位置的子串,避免出现索引越界的问题。
内容的提问来源于stack exchange,提问作者Manav Srivastava
相关产品推荐
相关产品推荐

