Java 如何用一个词的一部分来表达整个词?
例如: 我有这样一个字符串:Java 如何用一个词的一部分来表达整个词?,java,string,substring,Java,String,Substring,例如: 我有这样一个字符串: String query = "....COD_OP = 1 AND USER_DATA_SIGNIN = ...." 我需要得到整个单词(“USER\u DATA\u sign”),当它有“\u DATA”部分时 在java中,是否可以反向使用某种子字符串?在这种情况下,我不知道如何获取“USER”部分。简单的实现,空检查留给您: for (String string : query.split(" ")) { if(string.con
String query = "....COD_OP = 1 AND USER_DATA_SIGNIN = ...."
我需要得到整个单词(“USER\u DATA\u sign”
),当它有“\u DATA”
部分时
在java中,是否可以反向使用某种子字符串?在这种情况下,我不知道如何获取
“USER”
部分。简单的实现,空检查留给您:
for (String string : query.split(" ")) {
if(string.contains("_DATA_"))
{
System.out.println(string); // USER_DATA_SIGNIN
System.out.println(string.split("_")[0]); // USER
}
}
您可以使用负责Java中正则表达式机制的模式/匹配器类。您可以创建一个模式,该模式将表示前面和/或后面有
a-zA-Z0-9
字符(可由\w
字符类表示)的单词,如
Pattern p = Pattern.compile("\\w*_DATA_\\w*");
Matcher m = p.matcher(text);
while(m.find()){
System.out.println(m.group());
}
你的预期输出是什么?“用户数据签名”?你说“当它有
“\u数据”
部分时,我需要得到整个单词”,这意味着你想找到用户数据签名
,但你说的是“在这种情况下,我想得到“用户”
部分”。你能解释一下这里使用的逻辑吗?没错,在这种情况下,我想要完整的单词,即“用户数据签名”。我这么说是因为我知道如何获取字符串的右半部,但我不知道如何获取字符串的左半部。然后请更新您的问题以清除此混淆。谢谢!我不知道为什么我以前没有想过:PNo问题,通常最简单的解决方案就是最好的解决方案。很好的替代方案,也很好用,非常感谢!