+ -
当前位置:首页 → 问答吧 → 请问如何替换

请问如何替换

时间:2011-03-12

来源:互联网

一个字符串$tr="围殴   户  将";
还有一个数组,有三个字符,三个字符分别为(啊是才);
怎么才能把数组的三个字符分别替换到上面那个字符串的空格呢,最后字符串变为“围殴啊是将才”

作者: zhongkeli   发布时间: 2011-03-12

s/ \w+ /啊是才/

作者: zhlong8   发布时间: 2011-03-12

回复 zhlong8


    如果空格是全角的话怎么办,还有如果句子还有其他标点符号呢

作者: zhongkeli   发布时间: 2011-03-12



QUOTE:
回复  zhlong8


    如果空格是全角的话怎么办,还有如果句子还有其他标点符号呢
zhongkeli 发表于 2011-03-12 14:24




    你是不是该去学学正则表达式……全角就在 s/// 中用全角的,标点符号和别的字符又有什么区别

作者: zhlong8   发布时间: 2011-03-12

回复 zhlong8

                                $str1="                                           ";
                $i=0;
                $str=substr($result[3],$i,$i+1);
                while($i<$len&&$str1=~s/ +/$str/g){
                   $i++;
                   $str=substr($result[3],$i,$i+1);
                                }
                         他只能替换第一个全角空格 请问是什么问题呢

作者: zhongkeli   发布时间: 2011-03-12



QUOTE:
回复  zhlong8

                                $str1="                       ...
zhongkeli 发表于 2011-03-12 14:34




    有点晕,你的看不太懂
  1. my $str = 'a b c d';

  2. my @chars = qw(这 是 一个 没有);

  3. my $ch = shift @chars;
  4. while ($str =~ s/ /$ch/) {
  5.         $ch = shift @chars;
  6. }

  7. print $str
复制代码

作者: zhlong8   发布时间: 2011-03-12

回复 zhlong8


     
下载 (15.06 KB)
2011-03-12 14:57
他有这个错误

作者: zhongkeli   发布时间: 2011-03-12