C# 替换字符串中固定位置0的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 08:38:40
otonaninaru_009_01_10_001 配信日:2009-06-19
otonaninaru_009_02_10_001 配信日:2009-06-19
otonaninaru_009_03_10_001 配信日:2009-06-19
otonaninaru_009_04_10_001 配信日:2009-06-19
otonaninaru_009_05_10_001 配信日:2009-06-19
otonaninaru_009_06_10_001 配信日:2009-06-19
otonaninaru_009_07_10_001
otonaninaru_009_08_10_001 配信日:2009-06-19
otonaninaru_009_09_10_001 配信日:2009-06-19
otonaninaru_009_10_10_001 配信日:2009-06-19
我要判断 01 02 03 04这一列第一个是不是0如果是0的话把他给除掉
otonaninaru_009_09_10_001 变换后 otonaninaru_009_9_10_001
otonaninaru_009_10_10_001 不变 otonaninaru_009_10_10_001

string str = "otonaninaru_009_09_10_001 配信日:2009-06-19";
string[] arr = str.Split('_');
if (arr.Length > 2)
{
int i = int.Parse( arr[1]);
arr[1] = i.ToString();
}
str = string.Join("_", arr);
Console.WriteLine(str);

用正则替换,你的内容是来自文件吗?

还是一行行的读入 的啊

string s = "otonaninaru_009_01_10_001 配信日:2009-06-19";
s=s.Replace("otonaninaru_009_0", "otonaninaru_009_");
MessageBox.Show(s);

专家说的真好 我不用回答了 就他的

9_0 替换成 9_ 就可以了

配信日 没有重复的,没有问题

前面也没有

先把每行独到singles中
string[] tokens=singles.Split(new Char[]{'_'});
if(tokens[2].StartWith('0'))
{
tokens[2]=tokens[2].SubString(1,1);
}
然后在写回去