我在文件中有以下文字:
“SHOP_ORDER001”, “SHOP_ORDER002”, “SHOP_ORDER003”, “SHOP_ORDER004”, “SHOP_ORDER005”
现在我通过读取文件并通过spilled分配给数组来获取值:
String orderValue = "";
string[] orderArray;
orderValue = File.ReadAllText(@"C:\File.txt");
orderArray = orderValue.Split(',');
但我得到的价值是:
我需要数组中的值为“ORDER001”,“ORDER002”,“ORDER003”
答案 0 :(得分:3)
你看到的\"
只是由字符串的调试器可视化器添加的(因为引用是特殊的,需要被转义以免混淆),不要担心它们不在你的{ {1}}。
如果你想删除引号,那么你的数组将是:
SHOP_ORDER001 SHOP_ORDER002 ...
只需使用它(使用LINQ):
orderArray
顺便说一下var orderArray = orderValue.Split(',').Select(x => x.Trim('"'));
不是很强大,除非你确定,每个字段都不会包含逗号。
修改强>
要回答您在评论中添加的要点,如果您需要删除String.Split
,请写下:
SHOP_
答案 1 :(得分:3)
使用此正则表达式
var res = Regex.Matches(orderValue, @"(?<=""SHOP_)[^""]+?(?="")");
答案 2 :(得分:1)
你可以用这个:
string[] result = Regex.Split(orderValue, "(?:^\"SHOP_)|(?:\",\"SHOP_)|(?:\"$)");
但是,您必须跳过结果数组中的第一个和最后一个项目,因为它们始终是空字符串。
答案 3 :(得分:-1)
愚蠢的问题,但你为什么不这样做
.Replace("SHOP_", "");