用perl删除文件中多余空格
标签:
杂谈 |
分类: perl |
标 题: 如何用perl去掉空格
我的数据如下:比如有两列
295
356
356
369
113
294
54
9
111
140
74
0.3478
第一列前面有未知个数的空格,第二列前面也是有未知的空格,我应该怎么样去掉空格
然后变成第一列前面没有空格,然后第一列和第二列之间固定的一个空格呢,
试了一下,总是不成功,谢谢
my@totalLines=<Fic>;
foreach$line (@totalLines)
{
chomp($line);
@tab=split(/ /,$line);
print Fic1
"@tab[0] @tab[1]\n";
}
-
:
: 我的数据如下:比如有两列
:295
356
: 356
369
:113
294
: 54
9
:111
140
: 74
0.3478
: 第一列前面有未知个数的空格,第二列前面也是有未知的空格,我应该怎么样去掉空格
: 然后变成第一列前面没有空格,然后第一列和第二列之间固定的一个空格呢,
: 试了一下,总是不成功,谢谢
:
: my@totalLines=<Fic>;
:
: foreach$line (@totalLines)
: {
:
chomp($line);
:
@tab=split(/ /,$line);
split / +/, $line;
: print Fic1 "@tab[0]
@tab[1]\n";
:
: }
: --
:
: ※ 来源:·水木社区 http://newsmth.net·[FROM: 92.103.53.*]
--
"I cannot keep your waves," says the bank to the river.
"Let me keep your footprints in my heart."
--- Stray
Birds, Tagore
是空格和+号吗
什么意思啊,谢谢
我试了一下,可以,但是必须是1和第2个,为什么不是tab[0]和tab[1]呢
tab[0]在这里是什么呢,空格吗?
print Fic1 "@tab[1]@tab[2]\n";
【 在 asker (whoo-ah!) 的大作中提到: 】
:
split /
+/, $line;
--
※ 修改:·bluebore 于 Jul 13 16:42:22 2011 修改本文·[FROM: 92.103.53.*]
※ 来源:·水木社区 http://newsmth.net·[FROM: 92.103.53.*]
我的数据如下:比如有两列
第一列前面有未知个数的空格,第二列前面也是有未知的空格,我应该怎么样去掉空格
然后变成第一列前面没有空格,然后第一列和第二列之间固定的一个空格呢,
试了一下,总是不成功,谢谢
my@totalLines=<Fic>;
foreach$line (@totalLines)
{
}
-
:
: 我的数据如下:比如有两列
:
:
:
:
:
:
: 第一列前面有未知个数的空格,第二列前面也是有未知的空格,我应该怎么样去掉空格
: 然后变成第一列前面没有空格,然后第一列和第二列之间固定的一个空格呢,
: 试了一下,总是不成功,谢谢
:
: my@totalLines=<Fic>;
:
: foreach$line (@totalLines)
: {
:
:
:
:
: }
: --
:
: ※ 来源:·水木社区 http://newsmth.net·[FROM: 92.103.53.*]
--
"I cannot keep your waves," says the bank to the river.
"Let me keep your footprints in my heart."
是空格和+号吗
什么意思啊,谢谢
我试了一下,可以,但是必须是1和第2个,为什么不是tab[0]和tab[1]呢
tab[0]在这里是什么呢,空格吗?
print Fic1 "@tab[1]@tab[2]\n";
【 在 asker (whoo-ah!) 的大作中提到: 】
:
--
※ 修改:·bluebore 于 Jul 13 16:42:22 2011 修改本文·[FROM: 92.103.53.*]
※ 来源:·水木社区 http://newsmth.net·[FROM: 92.103.53.*]
[本篇全文]
[回复文章]
[本篇作者:Invader]
[回信给作者]
[进入讨论区]
[返回顶部][分享到
搜狐微博 http://v.t.qq.com/share/images/s/weiboicon16.png腾讯微博 新浪微博]
4
发信人: Invader (政治局局长 << May
Dreaming~~), 信区: Perl
标题: Re: 如何用perl去掉空格
发信站: 水木社区 (Wed Jul 13 16:46:15 2011), 转信
@tab = split ' ', $line;
print "@tab\n";
see perldoc -f split
【 在 bluebore (新的开始) 的大作中提到: 】
: 是空格和+号吗
: 什么意思啊,谢谢
: 我试了一下,可以,但是必须是1和第2个,为什么不是tab[0]和tab[1]呢
: ...................
--
#!/bin/bash
while read -n $((1 + RANDOM % 3)) str
do
echo
$str
done <<< "俺也会写诗了"
※ 来源:·水木社区 newsmth.net·[FROM: 198.182.56.*]
标
发信站: 水木社区 (Wed Jul 13 16:46:15 2011), 转信
@tab = split ' ', $line;
print "@tab\n";
see perldoc -f split
【 在 bluebore (新的开始) 的大作中提到: 】
: 是空格和+号吗
: 什么意思啊,谢谢
: 我试了一下,可以,但是必须是1和第2个,为什么不是tab[0]和tab[1]呢
: ...................
--
#!/bin/bash
while read -n $((1 + RANDOM % 3)) str
do
done <<< "俺也会写诗了"
※ 来源:·水木社区 newsmth.net·[FROM: 198.182.56.*]
[本篇全文]
[回复文章]
[本篇作者:yanzg]
[回信给作者]
[进入讨论区]
[返回顶部][分享到
搜狐微博 http://v.t.qq.com/share/images/s/weiboicon16.png腾讯微博 新浪微博]
5
发信人: yanzg (油炸鬼), 信区: Perl
标题: Re: 如何用perl去掉空格
发信站: 水木社区 (Wed Jul 13 16:52:18 2011), 转信
空格是空格的意思
+是表示任意多个,但是不少于1个
因为你开头有空格,开头的空格前面的是tab[0]
万一你有一行开头没有空格就会出错
考虑分两步做的话,用一下trim函数
# Perl trim function to remove whitespace from the start and end of the string
sub trim($)
{
my $string = shift;
$string =~ s/^\s+//;
$string =~ s/\s+$//;
return $string;
}
# Left trim function to remove leading whitespace
sub ltrim($)
{
my $string = shift;
$string =~ s/^\s+//;
return $string;
}
# Right trim function to remove trailing whitespace
sub rtrim($)
{
my $string = shift;
$string =~ s/\s+$//;
return $string;
}
【 在 bluebore (新的开始) 的大作中提到: 】
: 是空格和+号吗
: 什么意思啊,谢谢
: 我试了一下,可以,但是必须是1和第2个,为什么不是tab[0]和tab[1]呢
: ...................
--
哥哥挎筐过宽沟,
快过宽沟看怪狗,
光看怪狗瓜筐扣,
筐扣瓜滚哥怪狗。
※ 修改:·yanzg 于 Jul 13 16:53:31 2011 修改本文·[FROM: 219.239.98.*]
※ 来源:·水木社区 newsmth.net·[FROM: 219.239.98.*]
标
发信站: 水木社区 (Wed Jul 13 16:52:18 2011), 转信
空格是空格的意思
+是表示任意多个,但是不少于1个
因为你开头有空格,开头的空格前面的是tab[0]
万一你有一行开头没有空格就会出错
考虑分两步做的话,用一下trim函数
# Perl trim function to remove whitespace from the start and end of the string
sub trim($)
{
}
# Left trim function to remove leading whitespace
sub ltrim($)
{
}
# Right trim function to remove trailing whitespace
sub rtrim($)
{
}
【 在 bluebore (新的开始) 的大作中提到: 】
: 是空格和+号吗
: 什么意思啊,谢谢
: 我试了一下,可以,但是必须是1和第2个,为什么不是tab[0]和tab[1]呢
: ...................
--
哥哥挎筐过宽沟,
快过宽沟看怪狗,
光看怪狗瓜筐扣,
筐扣瓜滚哥怪狗。
※ 修改:·yanzg 于 Jul 13 16:53:31 2011 修改本文·[FROM: 219.239.98.*]
※ 来源:·水木社区 newsmth.net·[FROM: 219.239.98.*]
[本篇全文]
[回复文章]
[本篇作者:Invader]
[回信给作者]
[进入讨论区]
[返回顶部][分享到
搜狐微博 http://v.t.qq.com/share/images/s/weiboicon16.png腾讯微博 新浪微博]
6
发信人: Invader (政治局局长 << May
Dreaming~~), 信区: Perl
标题: Re: 如何用perl去掉空格
发信站: 水木社区 (Wed Jul 13 17:00:14 2011), 转信
用不着这么麻烦,perl早就设计好了,见我上面回帖
【 在 yanzg (油炸鬼) 的大作中提到: 】
: 空格是空格的意思
: +是表示任意多个,但是不少于1个
: 因为你开头有空格,开头的空格前面的是tab[0]
: ...................
--
生命是一段挣扎
智慧是一种反抗
未来是一场游戏
※ 来源:·水木社区 newsmth.net·[FROM: 198.182.56.*]
标
发信站: 水木社区 (Wed Jul 13 17:00:14 2011), 转信
用不着这么麻烦,perl早就设计好了,见我上面回帖
【 在 yanzg (油炸鬼) 的大作中提到: 】
: 空格是空格的意思
: +是表示任意多个,但是不少于1个
: 因为你开头有空格,开头的空格前面的是tab[0]
: ...................
--
生命是一段挣扎
智慧是一种反抗
未来是一场游戏
※ 来源:·水木社区 newsmth.net·[FROM: 198.182.56.*]
我的文件内容如下
00-11-5b-50-3b-0f
00-10-dc-40-70-36
00-04-61-67-e8-07
00-50-8d-eb-05-b3
00-11-5b-36-c4-6c
可以看到在3、DYNAMIC和最后一列之前空格明显多与一个,我想通过perl使
我的文件内容变为如下
00-11-5b-50-3b-0f
00-10-dc-40-70-36
00-04-61-67-e8-07
00-50-8d-eb-05-b3
00-11-5b-36-c4-6c
即减少3、DYNAMIC和最后一列之前空格到一个就行了
while( <> )
}
后一篇:R语言生成保存图片方法

加载中…