有1.txt内容为
“12 32 你好 你好
122 122 你好 你好”
现在要求将数字后面的空格变为逗号,以及文字后面的空格不变,重新放在1.txt中!++++++++++++++++++++++++++++
我自己编程序主要的问题开始是不能够正确读取汉字,现在已经解决了,但是不能够不转义字符
"\n"和" "表达出来啊,能够显示汉字了,但是不能够继续分行啊!!我的代码如下::::
string input = "";
char[] c = " ".ToCharArray();//空格当做分割符号!
StringBuilder newStrs = new StringBuilder();
//下面是读取文件内容
StreamReader reader=new StreamReader("1.txt",System.Text.Encoding.Default);
while ((input=reader.ReadLine())!=null) //每次读入文件一行
{
string[] s = input.Split(c);
int n =1;
foreach(string str in s)
{
char[] chrs =str.ToCharArray();
newStrs.Append( chrs );
if(n==1||n==2)
{
newStrs.Append(",".ToCharArray());
}
else
newStrs.Append(c);//对于不该换为逗号的部分恢复为空格!
n++;
}
newStrs.Append("\n".ToCharArray());//每行后面要加上一个换行符号!
}
newStrs.Remove(newStrs.Length-1,1);//最后一行的就不要换行符号了,该去掉!
reader.Close();//重新写该文件!
StreamWriter sw = File.CreateText(fileName);
input = newStrs.ToString();
sw .WriteLine(input);
sw.Close();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
大家怎么做啊??我的问题是什么啊??自己感觉应该是后面重新写文件的地方有问题!!
“12 32 你好 你好
122 122 你好 你好”
现在要求将数字后面的空格变为逗号,以及文字后面的空格不变,重新放在1.txt中!++++++++++++++++++++++++++++
我自己编程序主要的问题开始是不能够正确读取汉字,现在已经解决了,但是不能够不转义字符
"\n"和" "表达出来啊,能够显示汉字了,但是不能够继续分行啊!!我的代码如下::::
string input = "";
char[] c = " ".ToCharArray();//空格当做分割符号!
StringBuilder newStrs = new StringBuilder();
//下面是读取文件内容
StreamReader reader=new StreamReader("1.txt",System.Text.Encoding.Default);
while ((input=reader.ReadLine())!=null) //每次读入文件一行
{
string[] s = input.Split(c);
int n =1;
foreach(string str in s)
{
char[] chrs =str.ToCharArray();
newStrs.Append( chrs );
if(n==1||n==2)
{
newStrs.Append(",".ToCharArray());
}
else
newStrs.Append(c);//对于不该换为逗号的部分恢复为空格!
n++;
}
newStrs.Append("\n".ToCharArray());//每行后面要加上一个换行符号!
}
newStrs.Remove(newStrs.Length-1,1);//最后一行的就不要换行符号了,该去掉!
reader.Close();//重新写该文件!
StreamWriter sw = File.CreateText(fileName);
input = newStrs.ToString();
sw .WriteLine(input);
sw.Close();
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
大家怎么做啊??我的问题是什么啊??自己感觉应该是后面重新写文件的地方有问题!!
int test = 0; // 用于存放数字
bool isNumber = false; // 用于记录字符串是否为数字
foreach(string str in s)
{
isNumber = Int32.TryParse(str, out test); // 尝试将 str 转换为 Int32
// 成功则返回 true
newStrs.AppendFormat("{0}{1}",str, isNumber ? ',' : ' ');
// 添加新字符串
// 后面添加空格还是逗号由 isNumber 决定
}
newStrs.Append(Enviroment.NewLine); // 添加换行符,在 Windows 系统为 \r\n 而不是 \n
如果数字可能超过 Int32 的范围,或者可能是实数,可以使用 Double.TryParse 或 Decimal.TryParse 方法判断字符串是否为一个数;或者你可以自己写一个函数判断字符串是否为数字。