gpt4 book ai didi

Java将字符串转换为逻辑

转载 作者:行者123 更新时间:2023-12-02 09:46:37 25 4
gpt4 key购买 nike

//具有 Java 7/8: 字符串逻辑 =“123 OR 345 OR 678 NAND 901”;

//Should evaluate something simililar to this: 
String test1 = "abc345678opq"; String test2 = "abc123901";

boolean isCheckOk1 = test1.contains("123") || test1.contains("345") || test1.contains("678") && !test1.contains("901");

boolean isCheckOk2 = test2.contains("123") || test2.contains("345") || test2.contains("678") && !test2.contains("901");

//where isCheckOk1 will be true

//and isCheckOk2 will be false;

Java 库中是否有通用方法来实现此目的?

下一级别:

"123 OR 345 OR 678 NAND (901 AND 902)"

谢谢!

最佳答案

不,但您可以使用正则表达式:

这个:

boolean isCheckOk1 = test1.contains("123") || test1.contains("345") || test1.contains("678") && !test1.contains("901");

可以编码为:

boolean isCheckOk1 = test1.matches("(?!.*901).*(123|345|678).*");
<小时/>

“额外点”可以编码为:

boolean isCheckOk1 = test1.matches("(?!.*901.*902)(?!.*902.*901).*(123|345|678).*");
<小时/>

复杂的逻辑在正则表达式中会变得难以处理。

关于Java将字符串转换为逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56606242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com