我正在逐行读取日志文件,并且使用“空格,\”(引号),/(斜杠)来分割它们。但是,有些行的斜杠比其他行多。例如:
173.172.12.134 - - [05/Oct/2015:06:37:26 +0300] "GET /h/8K/ID_0000012974.ism/QualityLevels(96000)/Fragments(audio=45302184354) HTTP/1.1" 200 25285 "-" "Firefox/1.5" "-" rt=0.000 ut="-" cs=HIT
执行此操作 strLine.split(" |\"")[7].split("/")[3]
--->这就是我想要的内容名称> ID_0000012974.ism
但是在这一行:
98.207.17.70 - - [05/Oct/2015:06:47:40 +0300] "GET /clientaccesspolicy.xml HTTP/1.1" 304 0 "baba-candir-4-ekim" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56" "-" rt=0.000 ut="-" cs=HIT
我需要这个-> baba-candir-4-ekim 作为内容名称。
我尝试过if(strLine.split(" |\"")[7].split("/")[3].contains(" /|/|/"))
但是它不起作用。如何检查它有多少个“ /”?