一个文本文件里有很多负数,如何把这些负数找出来并替换为零:
1.24124 2.424124 3.1414 -123.42 ...
2.24124 -2.42412 2.31314 231.42 ...
-3.4154 1.422124 2.31314 31.422 ...
...
...
...
...这个文本很大,如何用程序实现快速查找并替换,麻烦给个程序实例!谢谢!!
1.24124 2.424124 3.1414 -123.42 ...
2.24124 -2.42412 2.31314 231.42 ...
-3.4154 1.422124 2.31314 31.422 ...
...
...
...
...这个文本很大,如何用程序实现快速查找并替换,麻烦给个程序实例!谢谢!!
string aa = "";
string[] arr = text.Split(' ');
for(int i=0;i<arr.Length;i++)
{
if(i==0)
{
if(arr[i].IndexOf("-")>=0)
{
arr[i] = "0";
}
aa = arr[i];
}
else
{
if(arr[i].IndexOf("-")>=0)
{
arr[i] = "0";
}
aa += ","+arr[i];
}
}
Response.Write(aa);
1.24124 2.424124 3.1414 -123.42 ...
2.24124 -2.42412 2.31314 231.42 ...
-3.4154 1.422124 2.31314 31.422 ...
...
...
...
...
如何用程序实现快速查找负数并替换为零,麻烦给个详细一点的程序!替换后的仍然保存在*.txt中
{
String result = String.Empty;
using (StreamReader reader = new StreamReader(@"C:\1.txt"))
{
String line = null;
while ((line = reader.ReadLine()) != null)
{
result += ReplaceMinusNumber(line);
result += System.Environment.NewLine;
}
reader.Close();
} using (StreamWriter writer = new StreamWriter(@"C:\1.txt"))
{
writer.Write(result);
writer.Close();
}
}private String ReplaceMinusNumber(string line)
{
String result = String.Empty;
String[] numbers = line.Split(' ');
for (int i = 0; i < numbers.Length; i++)
{
if (numbers[i].StartsWith("-"))
{
result += "0 ";
continue;
}
result += numbers[i] + " ";
} return result;
}
private void button1_Click(object sender, EventArgs e)
{
string fs = File.ReadAllText("myfile.txt");
fs=Regex.Replace(fs, @"-(\d)+.(\d)*", "0",RegexOptions.Multiline );
File.WriteAllText("myfile.txt", fs);
}