0
我想刪除除最後一個之外的所有數字。如何刪除後面的所有數字並只保留最後一個
例子:
test test 1 1 1 255 255 test 7.log
我想變換:
test test test 255 7.log
我試過無數的組合,但我發現這個結果最好的是錯誤的:
test test 55 test 7.log
我感謝大家爲我們提供的寶貴幫助e很棒。
我想刪除除最後一個之外的所有數字。如何刪除後面的所有數字並只保留最後一個
例子:
test test 1 1 1 255 255 test 7.log
我想變換:
test test test 255 7.log
我試過無數的組合,但我發現這個結果最好的是錯誤的:
test test 55 test 7.log
我感謝大家爲我們提供的寶貴幫助e很棒。
,如果你需要刪除所有數字,除了最後:
$file = "test test 1 1 1 255 255 test 7.log";
list($name, $ext) = explode('.', $file);
// split the file into chunks
$chunks = explode(' ', $name);
$new_chunks = array();
// find all numeric positions
foreach($chunks as $k => $v) {
if(is_numeric($v))
$new_chunks[] = $k;
}
// remove the last position
array_pop($new_chunks);
// for any numeric position delete if from our list
foreach($new_chunks as $k => $v) {
unset($chunks[$v]);
}
// merge the chunks again.
$file = implode(' ', $chunks) . '.' .$ext;
var_dump($file);
輸出:
string(20) "test test test 7.log"
如果你想,然後刪除所有dublicate號碼:
$file = "test test 1 1 1 255 255 test 7.log";
list($name, $ext) = explode('.', $file);
$chunks = explode(' ', $name);
$new_chunks = array();
$output = array();
foreach($chunks as $k => $v) {
if(is_numeric($v)){
if(!in_array($v, $new_chunks)) {
$output[] = $v;
$new_chunks[] = $v;
}} else
$output[] = $v;
}
var_dump(implode(' ', $output). '.' .$ext);
輸出:
string(26) "test test 1 255 test 7.log"
做一些谷歌之前詢問 – 2013-02-22 13:07:50
請發佈到底你試過什麼代碼。如果我們只看到您的嘗試結果,我們無法幫助您。 – Cerbrus 2013-02-22 13:12:05
如果你說你爲什麼試圖做到這一點,甚至可能會有更好的方法。 – Ollie 2013-02-22 13:16:47