2012-10-07 283 views
0

經過幾年後,我回到了Lisp,那時Common Lisp只是一個計算機科學家的眼中的閃爍!我的Lisp經驗主要是列表(例如使用setq,cdr和cadr函數)。經過多次頭部劃傷之後,我設法從鍵盤讀取一行文本,使用'read-line',但後來發現它是一個字符串。 Sooooo,有沒有一個函數可以將「CAT上的CAT」轉換爲(MAT上的CAT SAT)?將字符串轉換爲列表

任何幫助將不勝感激!

西蒙 蘇格蘭

+0

'陣列爆炸(字符串$分界,串$字符串[摘要$上限]) ' – venkatKA

+0

LISP中的'(string1 string2)'方言是什麼意思?字符串數組? – ariefbayu

+0

(string1 string2)是LISP中的一個LIST。像數組... – Kamil

回答

0

好吧,如果我理解正確的話,你和你想要的,在PHP中,從輸入字符串THE CAT SAT ON THE MAT得到輸出字符串(THE CAT SAT ON THE MAT)那麼這應該只是罰款:

<?php 
    $inputStr = 'THE CAT SAT ON THE MAT'; 
    $outputStr = '('. $inputStr .')'; 
    echo $outputStr; 
?> 

編輯: 現在,當我看到(str str)是一個列表,那麼這應該工作:

<?php 
    $outputArray = explode(" ",$inputStr); 
?> 

和$ outputArray變量的var_dump將是:

array(6) { 
    [0]=> 
     string(3) "THE" 
    [1]=> 
     string(3) "CAT" 
    [2]=> 
     string(3) "SAT" 
    [3]=> 
     string(2) "ON" 
    [4]=> 
     string(3) "THE" 
    [5]=> 
     string(3) "MAT" 
} 
+0

我不是他的意思。 – ariefbayu

+0

@ariefbayu:嗯,我認爲你是對的 - 但是再次,他應該提供更多信息:( – Nikola

1

如果我沒有記錯,(string string1 string2)意味着LISP字符串數組。在這種情況下,要使用explode()功能:

$explodedArray = explode(" ", $yourLongString); 
var_dump($explodedArray); 
foreach($explodedArray as $strEach){ 
    echo $strEach . "\n"; 
} 
1

使用此字符串轉換爲數組

$array = explode(" ",$inputStr);