如何只用它的一部分得到一个完整的词?
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());
}
示例: 我有一个这样的字符串:
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());
}