csv ファイルから読み取り、ファイルの各要素を文字列の配列に格納するコンソール アプリケーションを作成しています。配列内の各文字列を反復処理し、非アルファベット文字とスペースをすべて削除する方法が 1 つあります。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」を削除することであり、「偽物」だけに置き換えられます。配列内の各要素に対してこれを行いたいです。