匹配一个单词中的几个字符

时间:2012-09-27 06:05:30

标签: java

我有句话:

Slno:0 ahdhajdhjahdjahjdhahd <>
Slno:1 ahdhajdhjahdjahjdhahd <>
Slno:2 ahdhajdhjahdjahjdhahd <>

我想将前5个章程与“Slno:x”进行比较,其中x是整数。 如果满足该条件,我想打印其余的行。并删除最后一个&lt;&gt; 所以输出看起来像:

       ahdhajdhjahdjahjdhahd
       ahdhajdhjahdjahjdhahd
       ahdhajdhjahdjahjdhahd

我尝试过:

如果所有charcaters的string1.charAt(1)=='S',则从string1 [5]打印到结束。  如果那条件是真的。寻找更好的逻辑

3 个答案:

答案 0 :(得分:1)

如果我理解你的要求,我认为这样可行。试试这个:

 public static void main(string..args) {
String s1= "Slno:0 ahdhajdhjahdjahjdhahd <>";

    String[] sSplit = s1.split("\\s");
    String f[]= sSplit[0].split(":");
   ;
    if(f[0].equals("Slno") && checkInt(f[1])) {
        System.out.println(sSplit[1]);
    }



}
public static boolean checkInt(String i) {
    try {
    Integer.parseInt(i);
    return true;
    }
    catch(Exception ex){
        return false;
    }
}

答案 1 :(得分:1)

你可以使用Regex和substring ..如果你的句子之间有空格: -

String s1 = "Slno:0 ahdhajdhjahdjahjdhahd <>";

if (s1.substring(0, 6).matches("Slno:\\d")) {
     System.out.println(s1.substring(7, s1.length() - 3));
}

输出: -

ahdhajdhjahdjahjdhahd

答案 2 :(得分:0)

你可以试试这个,

示例:“Slno:0 ahdhajdhjahdjahjdhahd&lt;&gt;”

使用split方法设置分隔符作为空格将句子拆分为三个部分。

StringOne = "Slno:0"
StringTwo = "ahdhajdhjahdjahjdhahd"
StringThree = "<>"

使用contains方法匹配输入。如果给定的输入与字符串的第一部分匹配,则打印字符串的第二部分。