我需要一个正则表达式,它将删除运算符后的剩余字符。 用户传递一个等式,ex 55-6 OR 55 + 6 OR(* /)。
只需要一个正则表达式,直到其中一个字符被击中,并删除其余的字符。
我得到了分歧' /'想通了:x = input.replaceAll("/[^/]*$", "");
我尝试遵循同样的约定,但它不起作用。
我查看了其他一些问题,但他们都依赖于了解具体特征。在这种情况下,我不知道用户将传入哪个运算符。
提前致谢。
答案 0 :(得分:0)
你可以将它们全部组合成一个正则表达式,尽管它有点乱。
对于划分你可以用这个输入替换它.replaceAll(“/.*$”,“”);
之后的每个应该是不同的,因为标志用于正则表达式。因此,你必须在它们前面放一个'\'来逃避它们。对于其他三个用\ *,\ +,\ - 。
替换第一个字符答案 1 :(得分:0)
这有效:
x = input.replaceAll("[-|\\+|\\*|/].*$", "");
这个表达式查找' - 'OR'+'OR''OR'/',然后使用。 $ the |删除所有内容。 pipe用于分隔值。
+和*字符实际上是指带有正则表达式的东西,所以必须先使用\才能表明你想要角色本身。
希望详细的解决方案有帮助