按序分组再分组统计

【问题】

java读入、修改、再把修改后的数据写入新txt,希望写入新txt的结果是所有的相邻字母对出现的次数(ab=,ba=,aa=次,等等),原始数据中的*#分别表示字母串的开始和结束。 
我是Java初学者,请大家帮忙,写一个可以直接运行并且初学者能读懂的代码,关键部分给出注释。感谢大家热心帮忙。 
txt部分数据(都是这种格式): 
































#

【回答】

       Java写这个很繁琐,用可嵌入JAVASPL实现会简单许多:


A

1

=file("E:\\s.txt").import@i()

2

=A1.select(~!="#").group@i(~=="*")

3

=A2.conj(~.([~[-1],~]).to(3,))

4

=A3.groups(~:a;count(~):b)

5

=A4.new(a.concat()+"="+string(b)+"")

6

=file("E:\\result.txt").export(A5)

 

A1:读取s.txt中的内容。

undefined

A2:依次选取非“#”字符,再对数据进行分组,每组数据以“*”开头。

A3:针对每组数据,取前一个成员与当前成员组成一个序列,并选出第3个及其之后的序列,最后进行和列。

undefined

A4:分组统计每个序列出现的次数。

undefined

A5:对A4数据进一步处理。

undefined

A6:A5导出到指定文件。

这段代码可以方便地集成进Java(可参考Java 如何调用 SPL 脚本