亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3098 | 回復(fù): 2
打印 上一主題 下一主題

perl文本處理,大家?guī)兔纯?/a> [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2016-05-03 10:55 |只看該作者 |倒序瀏覽
本帖最后由 南宮慕容007 于 2016-05-03 15:42 編輯


在一個文件里有很多類似于上面文本格式的文本,都是按一定順序排好的。我想檢查每一段是否包含0 4700000 sil -2540.468994 !SENT_START和36100000 36600000 sil -249.693359 !SENT_START這樣的兩句話(這兩句話在每一段文本的第二句和和倒數(shù)第二句,最后一句十個句號占一行),且這兩句話都要滿足第二個數(shù)字減第一個數(shù)字大于400000,如果不滿足其中的任一條件,則將這一段文本的第一句打印出來,也就是打印"chengwenqiang_near_013_stn2.rec"這句話?赡苡悬c難理解,我想了好久了還是沒找到解決辦法。一行一行的讀取文本好像很難解決這個問題吧。

論壇徽章:
0
2 [報告]
發(fā)表于 2016-05-03 17:28 |只看該作者
  1. #!/usr/bin/perl
  2. #use warning;

  3. $/ = '..........';
  4. my (@block, $a, $b, $c,$d,$e,$flag);
  5. while (<DATA>) {
  6.   @block = split /\r|\n/,$_;
  7.   
  8.    
  9.   $a = ($block[0] =~ /^\s*$/)?$block[1]:$block[0];
  10.   $b = ($block[0] =~ /^\s*$/)?$block[2]:$block[1];
  11.   $c = $block[$#block - 1];
  12.   
  13.   if ( not ( ((split /\s+/,$b)[1] - (split /\s+/,$b)[0] > 400000) && ((split /\s+/,$c)[1] - (split /\s+/,$c)[0] > 400000) ) ) {
  14.     print $a,"\n";
  15.   }
  16. }


  17. __DATA__
  18. "abc.txt"
  19. 0 4700000 sil -2540.468994 !SENT_START
  20. dfdfdfdf
  21. dfdfd
  22. ffff
  23. ffdfdf
  24. dddddd
  25. 36100000 36600000 sil -249.693359 !SENT_START
  26. ..........
  27. "bcd.txt"
  28. 0 470000 sil -2540.468994 !SENT_START
  29. dfdfdfdf
  30. dfdfd
  31. ffff
  32. ffdfdf
  33. dddddd
  34. 36100000 36600000 sil -249.693359 !SENT_START
  35. ..........
  36. "cde.txt"
  37. 0 4700000 sil -2540.468994 !SENT_START
  38. dfdfdfdf
  39. dfdfd
  40. ffff
  41. ffdfdf
  42. dddddd
  43. 36100000 3660 sil -249.693359 !SENT_START
  44. ..........
復(fù)制代碼

論壇徽章:
0
3 [報告]
發(fā)表于 2016-05-03 23:30 |只看該作者
@block = split /\r|\n/,$_;這一句是把整個文件都放到一個數(shù)組中了嗎回復(fù) 2# gaoquanlong


   
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP