我正在编写一个控制台应用程序,它从 csv 文件中读取并将文件中的每个元素存储到字符串数组中。有一种方法我想遍历数组中的每个字符串并删除所有非字母字符和空格。我使用 regex.replace() 成功地使用字符串执行此操作,但是一旦我尝试使用字符串数组执行此操作,情况就发生了变化。然后我继续尝试使用 string.replace() 但无济于事。我认为正则表达式路径是一个更好的选择,但我还没有成功。如果有人可以帮助我,我将不胜感激。到目前为止,这是我的代码:
public static string[] ChangeAddress(string[] address)
{
for (int i = 0; i < address.Length; i++)
{
Regex.Replace(i, @"(\s-|[^A-Za-z])", "");
System.Console.WriteLine(address[i]);
}
return address;
}
static void Main(string[] args)
{
string[] address = null;
//try...catch read file, throws error if unable to read
//reads file and stores values in array
try
{
StreamReader sr = new StreamReader("test.csv");
string strLine = "";
//while not at the end of the file, add to array
while (!sr.EndOfStream)
{
strLine = sr.ReadLine();
address = strLine.Split(',');
}
}
catch (Exception e)
{
Console.WriteLine("File could no be read:");
Console.WriteLine(e.Message);
}
//calls ChangeAddress method
ChangeAddress(address);
}
csv 文件包含用逗号分隔的不同地址。我的目标是删除数字,只留下街道名称。例如,原始字符串可能是 123 假的,目标是删除“123”,以便将其替换为“假”。我想对数组中的每个元素执行此操作。