所以我有这个问题。我有一个字符串标记,看起来像jdK10ds3
,有时标有jdK10ds3TEST
。我想检查字符串是否从最后开始TEST
。我尝试使用string.contains()
,但它可以检测到中间的字符串,如jdK1TESTds3
。
如果字符串最后有TEST
(忽略大小写),如何检查字符串以及如何解析字符串以删除最后一个TEST
。 TEST
可能会加倍jdK1TESTds3TEST
。
答案 0 :(得分:3)
如何使用:String.endsWith()
?首先将字符串设置为大写字母。
如果属实,String.substring()
到length - 4
完整代码:
String string = "jdK10ds3TEST"; // jdK10TESTds3TEST / jdK10TESTds3
if(string.toUpperCase().endsWith("TEST")) {
string = string.substring(0, string.length() -4);
}
System.out.println(string);
答案 1 :(得分:1)
正则表达式是你的朋友:
public static void main(String[] args) throws Exception {
String s1 = "jdK1TESTds3TEST";
System.out.println(s1.replaceAll("(?i)(.*)TEST$", "$1"));
}
O / P:jdK1TESTds3
上面的代码替换了最后一个TEST(如果存在)。添加(?i)
修饰符以使其不区分大小写。
答案 2 :(得分:0)
此代码检查它" TEST"是你输入字符串的一部分。如果存在则删除它并打印字符串。
public static void main(String[] args) {
String test = "jdK10TESTds3";
String test2 = "jdK10ds3TEST";
boolean status = false;
System.out.println(test.substring(test.length() - 4, test.length()).equalsIgnoreCase("TEST"));
System.out.println(test2.substring(test2.length() - 4, test2.length()).equalsIgnoreCase("TEST"));
status = test2.substring(test2.length() - 4, test2.length()).equalsIgnoreCase("TEST");
//Remove the test if it exists
if (status) {
test2 = test2.substring(0, test2.length() - 4);
System.out.println(test2);
}
}
答案 3 :(得分:0)
这是你要的吗?
package org.app.temputil;
public class Test2 {
public static void main(String[] args) {
String testString = "jdK1TESTds3TEST";
System.out.println("Does is end with TEST(ignoring case)?" + testString.toLowerCase().endsWith("test"));
System.out.println("After removing the last 'TEST' = " + testString.substring(0, testString.toLowerCase().lastIndexOf("test")));
}
}
是否以TEST结束(忽略大小写)?true
删除最后一次“测试”后= jdK1TESTds3
答案 4 :(得分:0)
有一种方法可以做到这一点, 如果字符串有" TEST"在最后(忽略案例)
// find all occurrences backward
String word= "TEST";
String text = "jdK10ds3TEST";
i = text.lastIndexOf(word);
现在获取剩余的字符串,
String subtext=text.subString(0,i-1);
答案 5 :(得分:0)
试试这个,
public void checkData()
{
String resultString = "jdK10TESTds3TEST";
if(resultString.lastIndexOf("TEST") == resultString.length() - 4)
{
resultString = resultString.substring(0, resultString.length() - 4);
System.out.println("Contains == >" + resultString);
}
else
{
System.out.println("Not Contain");
}
}