【发布时间】:2010-03-09 03:35:06
【问题描述】:
我如何将下面的字符串分成几个部分。我需要分开的是每个 包括字符串其余部分的尖括号。所以在下面的情况下,我会得到几个字符串 1.“我必须和你分手,因为” 2.“”(没有空格) 3.”。但我们还是“4.” “ 5.” 。”
I have to break up with you because <reason> . But let's still <disclaimer> .
下面是我目前拥有的(它丑陋...)
boolean complete = false;
int begin = 0;
int end = 0;
while (complete == false) {
if (s.charAt(end) == '<'){
stack.add(new Terminal(s.substring(begin, end)));
begin = end;
} else if (s.charAt(end) == '>') {
stack.add(new NonTerminal(s.substring(begin, end)));
begin = end;
end++;
} else if (end == s.length()){
if (isTerminal(getSubstring(s, begin, end))){
stack.add(new Terminal(s.substring(begin, end)));
} else {
stack.add(new NonTerminal(s.substring(begin, end)));
}
complete = true;
}
end++;
【问题讨论】:
标签: java parsing grammar text-parsing