当前位置:  技术问答>java相关

急问一个字符串操作的问题(菜鸟急问)

    来源: 互联网  发布时间:2015-06-04

    本文导语:  问题是这样的。有文本如下:#Software: Microsoft Internet Information Services 5.0 #Version: 1.0 #Date: 2002-04-24 00:06:10 #Fields: date time c-ip cs-username s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status cs-host cs(User-Agent...

问题是这样的。有文本如下:#Software: Microsoft Internet Information Services 5.0
#Version: 1.0
#Date: 2002-04-24 00:06:10
#Fields: date time c-ip cs-username s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status cs-host cs(User-Agent) 
2002-04-24 00:06:10 202.198.78.92 - FTPSERVER 10.50.21.61 80 GET /Default.asp - 200 d61.jlu.edu.cn Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1)
2002-04-24 00:06:10 202.198.78.92 - FTPSERVER 10.50.21.61 80 GET /logo.js - 304 d61.jlu.edu.cn Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1)


如何跳过开头的五行文字,然后分别提取出日期,时间,ip等字段存储在字符串里边呢?如何对一个字符串的内容和另一个字符串进行匹配发现有没有包含后者呢?

弱问题,谢谢大虾

|
流读入文本,封装inputStream为Reader,采用readLine方法一行一行读取
判断第一个字符是否为#,是则不处理
非则取日期时间和ip
取日期时间和ip的方法可以采用正则表达式
正则表达式API下载和使用参考:
http://www-900.ibm.com/developerWorks/java/l-regp/part1/index.shtml
匹配日期:
String expressDate = "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})";
匹配时间
String expressTime = "([0-9]{4}):([0-9]{1,2}):([0-9]{1,2})";
匹配IP
String expressIP = "([0-9]{1,2,3}).([0-9]{1,2,3}).([0-9]{1,2,3}).([0-9]{1,2,3})";
如果你使用的是jdk1.4,不用下载ORO或者RE等表达式API了
你采用jdk1.4的表达式API就可以
使用很简单

|
String s="aa,bb";
int port=s.indexOf(",");
String first,behind;
first=s.substring(0,port);
behind=s.substring(port+1);

|
我觉得你的还是用BufferedReader比较好,如果你的文本内容本来就是一个流的话。BufferedReader可以读一行,你的内容也正好一行为一个逻辑单元。

|
学习!学习!

    
 
 

您可能感兴趣的文章:

  • 菜鸟问题:在Java中如何接收从键盘输入的字符串?
  • 问个C编程的菜鸟问题——字符串输入
  • C++ Strings(字符串) 成员 size():返回字符串中字符的数量
  • 关于字符串的操作,我想得到字符串的长度,和他开始两位组成的新的字符串,例如::
  • C++ Strings(字符串) 成员 c_str():将字符串以C字符数组的形式返回
  • C语言实现输入一个字符串后打印出该字符串中字符的所有排列
  • C++ Strings(字符串) 成员 find():在字符串中查找字符
  • 如何使GDB显示完整的字符串变量,当字符串比较长时。
  • C++ Strings(字符串) 成员 end():返回一个迭代器,指向字符串的末尾。(最后一个字符的下一个位置)
  • php判断字符串在另一个字符串位置的方法
  • C++ Strings(字符串) 成员 empty():如果字符串为空,返回真
  • 请教,有关16进制字符串形成2进制字符串的问题!
  • 移动开发 iis7站长之家
  • 如何将一个双引号”放在一个字符串中,就是在字符串中如何转义一个双引号。谢谢!
  • C++ Strings(字符串) 成员 resize():重新设置字符串的大小
  • shell程序:在大文件中查找特定字符串,但该字符串可以跨行
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 怎样判断一个字符串在另一个字符串里面?
  • C++ Strings(字符串) 成员 reserve():保留一定容量以容纳字符串(设置capacity值)
  • 请问怎样从键盘读入一个字符串,怎样连接两个字符串,谢谢
  • C++ Strings(字符串) 成员 swap():交换两个字符串的内容
  • 浅析string类字符串和C风格字符串之间的区别
  • C++ Strings(字符串) 成员 rbegin():返回一个逆向迭代器,指向最后一个字符
  • 如何用shell实现将指定文件中的指定的字符串替换为我指定的另外的字符串
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Strings(字符串) 成员 insert():插入字符
  • 有个小问题,如何将一字符串按一定规则分割成字符串数组?
  • Linux c字符串中不可打印字符转换成16进制
  • 在JAVA中如何实现在一个长字符串查找某个字符串??
  • C++ Strings(字符串) 成员 find_first_of():查找第一个与value中的某值相等的字符
  • 如何用sha1sum获取一个字符串使用sha-1加密后的16进制字符串?
  • C++ Strings(字符串) 成员 find_last_of():查找最后一个与value中的某值相等的字符
  • 在SQL中获取一个长字符串中某个字符串出现次数的实现方法
  • C++ Strings(字符串) 成员 get_allocator():返回配置器
  • 去除字符串中的相同的字符串的sql函数
  • C++ Bitsets 成员 to_string():返回bitset的字符串表示
  • 从字符串中 查找匹配字符串
  • C++ Strings(字符串) 成员 erase():删除字符
  • C语言中的字符串拼接问题,怎么得不到我想要的字符串?
  • C++ Strings(字符串) 成员 rfind():查找最后一个与value相等的字符(逆向查找)
  • sql函数实现去除字符串中的相同的字符串
  • C++ Strings(字符串) 成员 find_first_not_of():查找第一个与value中的所有值都不相等的字符
  • 在java/jsp里怎样判断一个yyyymmdd格式的字符串是合法的日期型字符串,并求两日期字符串之间的天数?
  • C++ Strings(字符串) 成员 find_last_not_of():查找最后一个与value中的所有值都不相等的字符
  • 想用"|"来分离字符串,但用String.split("|")总是出现错误,总是多分离出一个空串,如果字符串中有空格那错误更多。
  • C++ Strings(字符串) 成员 rend():返回一个逆向迭代器,指向第一个元素的前一个位置
  • PHP替换字符串(只替换首个字符串)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3