1

我的文件中的值很少,例如:

"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;


        }

但这里的问题是,如果有人提供单引号或不带引号,我将得到不希望的输出。任何方式我都可以概括解决方案,以便当它在双引号或单引号内或没有任何引号时以相同的方式具有?

4

2 回答 2

4

如何使用要修剪的字符创建一个字符数组?

char[] ch = { '\'', '"'};
orderArray = orderValue.Split(',').Select(x => x.Trim(ch)).ToArray();
于 2013-03-01T08:58:35.120 回答
1

var orderValue = fileText.Replace(前缀, ""); orderArray = orderValue.Split(',').ToArray();

无需再用 "" 或 ' 修剪

于 2013-03-01T09:01:55.457 回答