检查字符串是否具有此特定值

时间:2016-07-19 08:43:46

标签: java android string

所以我有这个问题。我有一个字符串标记,看起来像jdK10ds3,有时标有jdK10ds3TEST。我想检查字符串是否从最后开始TEST。我尝试使用string.contains(),但它可以检测到中间的字符串,如jdK1TESTds3

如果字符串最后有TEST(忽略大小写),如何检查字符串以及如何解析字符串以删除最后一个TESTTEST可能会加倍jdK1TESTds3TEST

6 个答案:

答案 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");
    }
}