亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除字符串片段

刪除字符串片段

PHP
忽然笑 2022-01-14 15:40:11
好的,我將 .txt 文件的內容導入到數組中,并且我在刪除數組中字符串的某些部分時遇到了問題。這是數組的示例輸出:[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] 中一樣,保持原樣,刪除所有數組元素中的最后 2 個數字,我想將它導出到 .csv 文件中,字符串的每個部分都在它自己的列中,假設我需要分隔符,或者我需要將這些字符串拆分到它自己的子數組中?到目前為止,我已經能夠解決問題。3、刪除數組元素的最后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貢獻1809條經驗 獲得超8個贊

我建議

$string = preg_replace('~^\s*(?:\d+-(?=\d[^-]*$))?|\s+\d+\s*$~', '', $output);

查看正則表達式演示

細節

  • ^ - 字符串的開始

  • \s* - 0+ 個空格

  • (?:\d+-(?=\d[^-]*$))? - 一個可選的序列

    • \d+ - 1+ 位數

    • - - 一個連字符

    • (?=\d[^-]*$)-- 一個積極的前瞻,需要一個數字,然后是除字符串末尾之外的任何 0+ 字符

  • | - 或者

  • \s+ - 1+ 空格

  • \d+ - 1+ 位數

  • \s* - 0+ 個空格

  • $ - 字符串結束。


查看完整回答
反對 回復 2022-01-14
  • 1 回答
  • 0 關注
  • 176 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號