1
在此之前,我已經提出了同樣的問題,我得到了答案,但我錯了。我需要將數字轉換爲單詞而不使用任何庫,特別是Lingua :: Numbers。Perl將數字更改爲單詞
我找到了一個例子來分隔電話號碼中的數字。然後我試着在腳本中實現這個例子。但它沒有奏效。
這是我的腳本。
$x = "1104";
$x =~ s/1/ one /gi; #from 1-10, I, substitute number to words to words
$x =~ s/2/ two /gi;
$x =~ s/3/ three /gi;
$x =~ s/4/ four /gi;
$x =~ s/5/ five /gi;
$x =~ s/6/ six /gi;
$x =~ s/7/ seven /gi;
$x =~ s/8/ eight /gi;
$x =~ s/9/ nine /gi;
$x =~ s/10/ ten /gi;
$y = ($x{1}[thousand]?$x{1}[hundred and]?$x{2});
#then I will insert all my $x into $y.
$x =~ s/$x/$y/gi; #Here i substitute again to change all number to words
#that is my idea.
print "$x";
我試着讓它的第一個4位數。如果成功,我可以繼續插入,直到有7-8個數字或更多。
爲什麼不查找庫的實現並複製你需要的部分? –
它看起來不像可以由正則表達式處理的東西(至少不容易)。在代碼中做它會容易得多。還要注意11-19(例如十八)和(1-9)* 10(例如二十或三十)也需要單獨規定。 – Dukeling
好的,從技術上來說只有11-13,15和(1-3,5)* 10是不同的。 – Dukeling