一個小問題的解決方案
文字格式:
111 222 33 [232 23 23] 34324 <234 234 234> 234 324
把所有的空格替換為tab
但是[] <>裡面的忽略,不替換。
[]<>的位置是隨機的。可能出現任意域,但整個文字的格式是固定的。
安樂的解法
use 5.010;
use strict;
my $string = "233323 <123> 32323[2323]";
my @all = split '',$string;
my $flag = 0;
foreach (@all){
if ($flag == 0 ){
$_ = "\t" if $_ eq ' ';
$flag = 1 if $_ eq '<';
$flag = 2 if $_ eq '[';
}elsif($flag == 1){
next if $_ ne '>';
$flag =0
}elsif($flag == 2){
next if $_ ne ']';
$flag =0
}else{
}
}
$string = join '',@all;
say @all;
我的解法:
use strict;
use warnings;
my $out_out = "result.txt";
open my $out, '>', $out_out or die "failed open$!\n";
my $in_in = "a.txt";
open my $in, '<', $in_in or die "cannot open\n";
while(<$in>)
{
chomp;
my $line=$_;
print $out "$line\n";
$line=~s/(<|\[)(\d+)\s+(\d+)\s+(\d+)(>|])/$1$2-$3-$4$5/g;
$line=~s/\s+/\t/g;
$line=~s/-/ /g;
print $out "$line\n";
}
close $in;
close $out;
相關文章
- 一個使用SQL語句解決的小問題SQL
- junit測試出現的小問題解決方案
- 一個簡單的統計問題(解決方案:Trie樹)
- 更新了java 8 之後一個小問題解決Java
- 解決了一個PC的問題
- mysql8.0插入慢的問題解決方案(一)MySql
- 記一次跨域問題的解決方案跨域
- 一個小問題
- chrome appcache一個問題的解決ChromeAPPPCA
- 記錄一次解決App崩潰問題的解決方案APP
- CSS小問題與解決方案記錄(長期更新)CSS
- 跨域問題,解決方案 – CORS方案跨域CORS
- 跨域問題,解決方案 - CORS方案跨域CORS
- 木馬問題解決方案
- jive中文問題解決方案
- 玩Deno遇到問題的解決方案
- Nginx跨域的問題解決方案Nginx跨域
- Mycat分片方案需要解決的問題
- git 常見問題的解決方案Git
- 【API知識】ElementUI一些問題的解決方案APIUI
- 一個lua問題解決過程
- 解決AI的小資料問題AI
- 一個關於/root/.gvfs的問題解決?
- outlook express的一個小問題!Express
- 跨域問題及解決方案跨域
- PHPAjax跨域問題解決方案PHP跨域
- 常見問題及解決方案
- spring security 問題解決方案Spring
- HA腦裂問題解決方案
- Kafka常見的問題及解決方案Kafka
- 移動端相容性問題解決方案(一)
- 求解決 Laravel with () limit 的問題 附帶解決方案LaravelMIT
- lvs 負載均衡遇到的一個問題. (問題解決)負載
- MFC軟體國際化的幾個問題及其解決方案
- uniapp,小程式防止二次點選問題,解決方案APP
- 終於,解決了一個大問題
- 解決github中一個新手著名問題Github
- 今天解決的兩個問題