【发布时间】:2011-11-18 12:38:42
【问题描述】:
我已经重写了整个问题,因为它很难阅读。
我的目标是从数据库中为拆分操作加载一个分隔符,并在 C# 中使用加载的分隔符分隔字符串。
String dbSeperator = "@START@\\t";
String stringToSplit = "@START@\t asdasdasd @START@\t 2242423 @START@\t asdasda";
String[] dbSperatorSplitArray = new String[1];
dbSeperatorSplitArray[0] = dbSeperator;
String seperatedValues = stringToSplit.Split(dbSeperatorSplitArray, StringSplitOptions.None);
上面的例子不起作用,因为从数据库中读出的字符串加倍了反斜杠。
以下代码完全用 C# 编写,无需访问数据库,一切都会好起来的:
String cSharpSeperator = "@START@\t";
String stringToSplit = "@START@\t asdasdasd @START@\t 2242423 @START@\t asdasda";
String[] cSharpSperatorSplitArray = new String[1];
cSharpSeperatorSplitArray[0] = cSharpSeperator;
String seperatedValues = stringToSplit.Split(cSharpSeperatorSplitArray, StringSplitOptions.None);
有没有什么方法可以让dbSeperator 从数据库中取出而不需要额外的反斜杠?
【问题讨论】:
-
问题不清楚你想在数据库中还是在你的代码中分割字符串
-
我正在尝试在 c# 中拆分字符串
-
我怀疑问题出在 escpaed 制表符上,但如果没有更多信息,我们也帮不上什么忙。
-
然后使用 String.Split() 方法...
-
听起来好像您在数据库中存储了斜杠和 t 字符而不是制表符 (0x09)。你能验证数据库字段的内容吗?你能在数据库中显示你的分隔符字符串的十六进制表示吗?
标签: c# database string tabs split