我有一个txt文件,它是纯数据(没有标记语言),如下所示:
A 3 8 7
d E 9 S
现在我需要使用Visual Studio C#加载它并将其转换为另一个txt文件,如:
A d
3 E
8 9
7 S
所有分区都是TAB而不是空格
非常感谢!
答案 0 :(得分:0)
在XQuery 3.1中尝试这个:
declare namespace array = "http://www.w3.org/2005/xpath-functions/array";
let $in := unparsed-text-lines('test.txt') ! array{tokenize(.)}
return fold-left(tail($in), head($in), array:for-each-pair(?, ?,
function($x, $y){$x || ' ' || $y}))?* => string-join('
')
其中大部分是纯XPath 3.1,因此如果您想要这样做,可以将其集成到XSLT样式表中。
它是如何运作的?
首先读取输入文件的行,然后将每行标记为$ in,作为包含输入行的数组序列。
然后依次为每对行连接相应的成员对以创建以空格分隔的字符串。使用生成的字符串数组,首先转换为字符串序列(使用“?*”),然后使用换行符作为分隔符连接此序列中的字符串。
您可以通过安装Saxon(需要Saxon-PE或更高版本)从C#运行它。