-2

我有这样的句子:

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

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

       ahdhajdhjahdjahjdhahd
       ahdhajdhjahdjahjdhahd
       ahdhajdhjahdjahjdhahd

我试着做:

if string1.charAt(1)=='S' 对于所有字符,然后从 string1[5] 打印到结束。如果条件为真。寻找更好的逻辑

4

3 回答 3

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;
    }
}
于 2012-09-27T06:16:55.013 回答
1

您可以使用正则表达式和子字符串..如果您的句子之间有空格:-

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

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

输出: -

ahdhajdhjahdjahjdhahd
于 2012-09-27T06:48:36.163 回答
0

你可以试试这个

示例: “Slno:0 ahdhajdhjahdjahjdhahd <>”

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

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

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

于 2012-09-27T06:24:59.653 回答