0
$string = I am a boy

単語間の空白をアンダースコアで置き換える方法は?

4

4 に答える 4

4

これを行うには、正規表現と置換演算子が必要です。

my $string = 'I am a boy';
$string =~ s/\s/_/g;

perlreperlretutで正規表現の詳細を学ぶことができます。試してみるのに最適なツールはRubularです。


また、コードはコンパイルされません。文字列を引用符で囲み、最後にセミコロンを付ける必要があります。

于 2013-03-28T10:30:24.467 に答える
1
$string = 'I am a boy';
$string =~ s/ /_/g;
于 2013-03-28T10:30:14.477 に答える
1
$string =~ tr( \t)(_);  # Double underscore not necessary as per Dave's comment
于 2013-03-28T11:22:38.217 に答える
0

これは、perl で別のオプションを表示するためのものです。 私はよりスマートな方法を考えMiguel Prz、示しました。個人的には、示された方法に従います。imbabqueimbabque

my $str = "This is a test string";
$str =~ s/\p{Space}/_/g;
print $str."\n";

そして出力は

This_is_a_test_string
于 2013-04-20T18:27:45.317 に答える