2013-01-07 98 views
0

我想弄清楚一個方法來解析包含每個元素之間的變量空格的數據約3-4列的數據的字符串。我想將每一行分成各自的組件。示例如下:解析帶有變量空白字符串的想法

WHITE BLOOD CELL COUNT  10.2  4.0-10.8 
HEMOGLOBIN 8.9 ABNORMAL LOW 12-16 
PLATELET COUNT  250 160-400 

所以在上面的例子中,兩行有三個元素,一行有四個元素。我想找到一種將它分開的方法。如果第一個元素是一個單詞,它會很容易,但我沒有看到一個簡單的方法來做這件事,而不是通過每個字符並匹配字母或數字/句點/短劃線,並以這種方式進行。

+0

對不起,但你想要做什麼?我不明白。 –

+0

數據每次都以相同的格式存在,還是改變了? –

+3

在開始分析輸入之前,您需要更清楚地定義您的語法。 –

回答

1

你的數據可以使用被分成行:

foreach($rows as $i => $row){ 
    $rows[$i] = preg_split ('/\s{2,}/' , $row); 
} 

這裏是一個演示:http://codepad.org/BdCHu8PO

$rows = explode("\n", $str); 

然後,對於每一行,您可以使用拆分的列中的數據

+0

爲什麼不把行也爆炸? – Vogel612

+0

@ Vogel612因爲你不能在'explode'中使用正則表達式。如果我只是簡單地使用兩個空格,則會有空元素,並且分隔的列可能會在邊緣包含多餘的空白。 –

+1

謝謝4解釋 – Vogel612

相關問題