如何只用它的一部分得到一个完整的词?

How get a whole word with just a part of it?

示例: 我有一个这样的字符串:

String query = "....COD_OP = 1 AND USER_DATA_SIGNIN = ...."

当它有 "_DATA_" 部分时,我需要得到整个单词 ("USER_DATA_SIGNIN")。

在 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
        }
    }

您可以使用 Pattern/Matcher classes,它们负责 Java 中的正则表达式机制。您可以创建模式来表示在 and/or 之后有 a-zA-Z0-9_ 个字符(可以用 \w 个字符 class 表示)的单词

Pattern p = Pattern.compile("\w*_DATA_\w*");
Matcher m = p.matcher(text);
while(m.find()){
    System.out.println(m.group());
}