因为要做一个本子阅读器,然后发现本子的文件名字都太长了,阅读器里根本显示不下于是我就决定把本子的名字提取出来,阅读器里只显示本子的名字,这样每个本子是哪本就一目了然了
首先先观察本子文件名的规律
发现本子的各种信息 作者 汉化组 展会 出处 都在中括号或者小括号里面,只有本子名不在括号里,所以把括号里,所以只要把括号里的东西都删掉,剩下的就是本子的名字了
这个很容易想到数据结构里的栈那里算法(好像就有括号匹配?我其实没学过。。)不过那样太复杂了,我们这里不用管括号里的内容是什么,不过思想是一样的用count来标记是否处于括号内,count>=1的时候说明在括号里面,这时候把里面的字符标记成‘{’(不会有叫{的本子吧。。)然后最后直接全部替换成空字符,最后再把两端的空格去一下。
代码是c#里的
public string getname(string filename)
{
StringBuilder name = new StringBuilder(filename);
int<