C# 修剪文本文件中的每一行,然后将结果保存到数组中
我需要读取一个本地文本文件,它的每一行都有一个文件名。每个文件名都需要从扩展名中删除。当我到达需要将修剪结果保存到另一个数组的部分时,我遇到了一些麻烦 到目前为止,我已经:C# 修剪文本文件中的每一行,然后将结果保存到数组中,c#,arrays,trim,C#,Arrays,Trim,我需要读取一个本地文本文件,它的每一行都有一个文件名。每个文件名都需要从扩展名中删除。当我到达需要将修剪结果保存到另一个数组的部分时,我遇到了一些麻烦 到目前为止,我已经: string path = @"C:\Users\path\file.txt"; string[] readText = File.ReadAllLines(path); foreach (string s in readText) { string result =
string path = @"C:\Users\path\file.txt";
string[] readText = File.ReadAllLines(path);
foreach (string s in readText)
{
string result = Path.GetFileNameWithoutExtension(s);
//here I can print the result to the screen
//but I don't know how to save to another array for further manipulation
}
如果您需要任何进一步的澄清,我将尽我所能澄清。
提前谢谢 使用
for
循环,而不是foreach
:
string path = @"C:\Users\path\file.txt";
string[] readText = File.ReadAllLines(path);
for( int i = 0; i < readText.Length; i++ )
readText[i] = Path.GetFileNameWithoutExtension( readText[i] );
stringpath=@“C:\Users\path\file.txt”;
字符串[]readText=File.ReadAllLines(路径);
for(int i=0;i
您也可以使用Linq执行此操作:
var path = @"C:\Users\path\file.txt";
var trimmed =
File.ReadAllLines(path)
.Select(Path.GetFileNameWithoutExtension)
.ToArray();
分配一个与原始数组大小相同的新数组,然后通过索引插入
string path = @"C:\Users\path\file.txt";
string[] readText = File.ReadAllLines(path);
string[] outputArray = new string[readText.Length];
int index = 0;
foreach (string s in readText)
{
outputArray[index++] = Path.GetFileNameWithoutExtension(s);
}
你为什么不把这个值倒推到一个向量中呢?@Papsicle抱歉,我不知道这是什么意思。为了在这个网站上成长,我必须发表一些帖子,这样我就可以有足够的代表投票,并对我每天在这里读到的数百篇帖子表示感谢。向量是一个动态数组,这意味着在创建它时不必指定它的长度,它将在满时自动增加大小。因此,您可以创建一个局部向量,然后使用pushback方法(实际上只是一个add方法)将所有字符串值添加到这个动态数组中。你可以读更多。谢谢@Papsicle。既然你解释了,我模糊地记得那个主题,我现在就来看看。谢谢!这起作用了。不,我不需要保存原始数组。