快速提问。我从目录列表中填充了一个列表框。每个文件都包含其名称和〜#####。我正在尝试将它全部读入一个字符串并用什么都替换〜####。 ####可以是长度为1-6的数字,可以是0-9之间的任何数字。这是我正在使用的代码:
string listItem = (listBox1.SelectedItem.ToString().Replace("~*",""));
示例:
Here223~123 ---> Here
Here224~2321 ----> Here
我无法替换任何数字,因为我需要〜
之前的数字答案 0 :(得分:12)
尝试
listItem.Split("~")[0]
这应该会给你一个字符串数组中的第一个字符串,这样你就丢失了tilda和尾随字符串。
答案 1 :(得分:6)
string listItem = Regex.Replace(listBox1.SelectedItem.ToString(), "~[0-9]{1,6}", string.Empty);
应该做的伎俩(不记得你是否必须逃避〜)!
答案 2 :(得分:4)
怎么样:
string listItem =
listBox1.SelectedItem.ToString().Substring(0,
listBox1.SelectedItem.ToString().IndexOf("~"));
答案 3 :(得分:4)
您最好使用Substring(int startIndex,int length)方法:
string listItem = listBox1.SelectedItem.toString();
listItem = listitem.SubString(0, listItem.IndexOf("~"));
答案 4 :(得分:1)
重点是string.replace不做正则表达式
所以要么拆分为“〜”,要么使用正则表达式