所以我有一个txt文件,其中包含我在代码顶部提供的名称。问题是如果它们包含''(空格)
,我想将这些行拆分成单独的行John
James Peter
Mary Bob
Thomas
Michael
我希望它是这样的:
John
James
Peter
Mary
Bob
Thomas
Michael
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ConsoleApplication21
{
class Program
{
static void Main(string[] args)
{
#region test2
StreamReader Fixed = new StreamReader("SSfile.txt");
List<string> FixedList = new List<string>();
List<string> FixedList2 = new List<string>();
FixedList2.ToArray();
string ReadFixed = Fixed.ReadLine();
while (ReadFixed != null)
{
FixedList.Add(ReadFixed);
ReadFixed = Fixed.ReadLine();
}
Fixed.Close();
for (int i = 0; i < FixedList.Count(); i++)
{
FixedList[i].Split(' ');
}
Console.WriteLine(FixedList.ToString());
Console.ReadKey();
#endregion
Console.ReadKey();
}
}
}
那我该怎么办?
答案 0 :(得分:3)
使用LINQ的力量:
String.Split会根据给定的分隔符将字符串拆分为子字符串数组。
SelectMany将“压扁”一个集合。这意味着你提供了一个方法,将一个项目转换为多个项目(例如一个字符串转换为一个字符串数组),SelectMany将形成一个可枚举的项目。
namespace ConsoleApplication21
{
class Program
{
static void Main(string[] args)
{
var names = File.ReadLines("SSfile.txt")
.SelectMany(line => line.Split(' '));
foreach(var name in names)
{
Console.WriteLine(name);
}
}
}
}
答案 1 :(得分:1)
拆分每一行,例如:
string.Join("\n","James Peter".Split(' '));