我有一个纯数据(无标记语言)的txt文件,如下所示:
A 3 8 7
d E 9 S现在我需要使用Visual studio C#加载它,并将其转置到另一个txt文件中,如下所示:
A d
3 E
8 9
7 S所有分区都是制表符而不是空格
非常感谢!
发布于 2017-09-13 21:59:17
在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('
')其中大部分是纯XSLT3.1,因此如果需要的话,可以将其集成到XPath样式表中。
它怎麽工作?
首先读取输入文件的行,并对每一行进行标记化,以将$in创建为包含输入行的数组序列。
然后,依次为每一对行连接相应的成员对,以创建一个空格分隔的字符串。使用产生的字符串数组,首先转换为字符串序列(使用"?*"),然后使用换行符作为分隔符将该序列中的字符串连接起来。
您可以通过安装Saxon从C#运行它(需要Saxon-PE或更高版本)。
https://stackoverflow.com/questions/46191577
复制相似问题