所以..如果我有一个字符串,如:
(P=>Q) ^ (L ^ M => P) ^ A
或
((~B V P) V M) ^ (B V ~P) ^ (B V ~M)
如何删除这些括号并在表单中保留我希望的子字符串:
P=>Q, L^M=>P, A
和
~BVPVM, BV~P, BV~M
谢谢!
答案 0 :(得分:2)
看来你正在为逻辑公式编写解析器。这就是我要做的事情:
答案 1 :(得分:0)
public static void main(String[] args) {
String input = "((~B V P) V M) ^ (B V ~P) ^ (B V ~M)";
String result = input.replaceAll("[ ()]", "")
.replaceAll("\\^", ", ");
System.out.println(result);
}
输出:
~BVPVM,BV~P,BV~M
我确信有人会想出一些非常棒的正则表达式。与此同时,这就足够了。