次のようなファイルにいくつかの値があります:
"SHOP_6ABC003"、 "SHOP_6ABC002"
しかし、これは次のように表すこともできます
'SHOP_6ABC003、' SHOP_6ABC002 '
または、次のように、二重引用符または一重引用符がない場合でも、次のようになります。
SHOP_6ABC003、SHOP_6ABC002
今、私はそれが二重引用符であると仮定して私のコードを書いています:
String orderValue = "";
orderValue = File.ReadAllText(@"C:\Users\Documents\File.txt");
string[] orderArray = GetList(orderValue, SHOP_PREFIX);
foreach (var item in orderArray)
{
Console.WriteLine(item);
}
private static string[] GetList(string fileText,string prefix)
{
string[] orderArray;
String orderValue = "";
orderValue = fileText.Replace(prefix, "");
orderArray = orderValue.Split(',').Select(x => x.Trim('"')).ToArray();
return orderArray;
}
しかし、ここでの問題は、誰かが一重引用符で囲まれた値を提供するか、引用符なしで提供する場合、望ましくない出力が得られることです。ソリューションを一般化して、二重引用符または一重引用符の中にある場合、または引用符なしの場合と同じようにする方法はありますか?