好的,我將 .txt 文件的內(nèi)容導(dǎo)入到數(shù)組中,并且我在刪除數(shù)組中字符串的某些部分時遇到了問題。這是數(shù)組的示例輸出:[55] => 28649706-20440929 73,66 02 [57] => 28613238-20600568 255,56 03 [59] => 40595693002 777,16 04 [79] => 078-50-4327086 691,24 02我想:如果字符串只有一個連字符,如 [55] 和 [57],則刪除字符串的第一部分和連字符,如果字符串有 2 個連字符,就像在 [79] 中一樣,保持原樣,刪除所有數(shù)組元素中的最后 2 個數(shù)字,我想將它導(dǎo)出到 .csv 文件中,字符串的每個部分都在它自己的列中,假設(shè)我需要分隔符,或者我需要將這些字符串拆分到它自己的子數(shù)組中?到目前為止,我已經(jīng)能夠解決問題。3、刪除數(shù)組元素的最后2個字符:$content = file_get_contents($_FILES['file']['tmp_name']);$output = explode("\n", $content);foreach ($output as $key => $index) { $string = preg_replace('/\X{3}\z/u', '', $output);}盡管如此,我仍然無法刪除帶有 2 個連字符的部分字符串,并將其以 .csv 格式輸出到單獨的列中。謝謝你。
1 回答

海綿寶寶撒
TA貢獻(xiàn)1809條經(jīng)驗 獲得超8個贊
我建議
$string = preg_replace('~^\s*(?:\d+-(?=\d[^-]*$))?|\s+\d+\s*$~', '', $output);
細(xì)節(jié)
^
- 字符串的開始\s*
- 0+ 個空格(?:\d+-(?=\d[^-]*$))?
- 一個可選的序列\d+
- 1+ 位數(shù)-
- 一個連字符(?=\d[^-]*$)
-
- 一個積極的前瞻,需要一個數(shù)字,然后是除字符串末尾之外的任何 0+ 字符|
- 或者\s+
- 1+ 空格\d+
- 1+ 位數(shù)\s*
- 0+ 個空格$
- 字符串結(jié)束。
- 1 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報
0/150
提交
取消