java的subString,可以截取指定字符到该行的末尾吗?

例如:RecordName.................77FlagField..................aaHardwareLocationCode....... 例如:
Record Name.................77
Flag Field..................aa
Hardware Location Code......11
Customer Card ID Number.....33
Serial Number...............44
FRU Number..................66

我怎么截取 这一行“Flag Field..................aa”。
注意:这一行的Flag Field是固定的,但aa不是固定的。并且这一行的的下一行“Hardware Location Code......11”不是固定的。

不能满足要求的就不要回复了。急用。求大神指导。暂时没财富值,等我挣点马上追加。
可能我描述的不够详细,补充下问题。上面的几行字符串顺序是可以打乱的。"........."前面的字符都是不变的。“........”之后的某个字符串是我需要截取保留的。比如说:Flag Field后面的值为aa,我就是要aa这个值,这个值是会变化的。现在我想到的方法就是可不可以直接subString.indexof("FlagField"),subString .indexof("/n");
展开
 我来答
木有芒果
推荐于2017-09-13 · 如果你问我是谁~我会说我叫木有芒果~哈哈
木有芒果
采纳数:112 获赞数:595

向TA提问 私信TA
展开全部

subString若只传入一个数字,就是代表截取这个数字所在的位置字符到该行末尾的,所以想要截取制定字符到该行末尾,就首先要找到这个字符在这个字符串中的位置,然后把位置的数字传入到subString里就可以了,类似如下

s.indexOf("a")就是找s字符串中a首次出现的位置

hitzsf
2014-04-28 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1166万
展开全部
如果aa是固定的长度,可以截取固定的末两位长度
如果aa前面的...............是固定格式的,可以用
substring(String.lastIndexOf(‘.’));
追问
aa和.....都不是固定的哦。只有....前面的字符是固定的。我要的就是截取...之后某个值。比如说:  Flag Field后面的值为aa
追答

如果是截取.后面的字符 就用我的方法

public class A {
    public static void main(String[] args) {
     String[] s = {
     "Record Name.................177",
             "Flag Field..................aaa",
             "Hardware Location Code......1asd1",
             "Customer Card ID Number.....3311",
             "Serial Number...............44",
             "FRU Number..................66"
     };
     for (String string : s) {
System.out.println(string.substring(string.lastIndexOf('.') + 1));
}
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小童鞋_成er
推荐于2017-10-12 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
    String str = "Record Name.................77 Flag Field..................aa Hardware Location Code......11 Customer Card ID Number.....33 Serial Number...............44 FRU Number..................66";
    str = str.replaceAll("\\.", "");
    String[] arr = str.split("Record Name|Flag Field|Hardware Location Code|Customer Card ID Number|Serial Number|FRU Number");
       for(String st : arr){
  System.out.println(st);
       }
更多追问追答
追问
你的不能满足我的要求呀。因为我的问题,只是例举了一部分字符串出来,可能还有很多行。按这些进行批分不合理。我要的是指定字符后面的值,也就是上面某行中“.....”之后的某一个值,比如说,Flag Field后面的值为aa,我要的就是aa这个值。这个值不是固定的
追答
读取每行的.之前的,提取传入我的split,然后StringBuffer拼就可以了,要不就用正则表达式。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式