加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

结合字符和数字php

发布时间:2020-12-13 22:27:15 所属栏目:PHP教程 来源:网络整理
导读:我正在从pdf文件中剥离数据,因此我将pdf转换为txt并从中获取数据.我得到了像CARDS 1 GA350C 3 2 0这样的字符串主记录. 0 450.0 DIGCL R 90. 0 55.0 2Y 4 4#当只有一条记录时,有时我会在单个字符串中得到多条记录,我用“#”字符计算出字符串中有多条记录邀请1
我正在从pdf文件中剥离数据,因此我将pdf转换为txt并从中获取数据.我得到了像CARDS 1 GA350C 3 2 0这样的字符串主记录. 0 450.0 DIGCL R 90. 0 55.0 2Y 4 4#当只有一条记录时,有时我会在单个字符串中得到多条记录,我用“#”字符计算出字符串中有多条记录邀请1 MA300C 3 2 0. 0 450.0 DIGCL R 9 9. 0 210.0 6 Y 4 4 #RSVP 1 OFF-90 A 1 3 2 0. 0 450.0 DIGBH S 9 9. 0 210.0 6 N 1 0#Letter1 1 MA130C 3 2 0. 0 450.0 DIGC L R 29 7. 0 210.0 2 N 4 0#Letter1 1 OFF-90 A 1 3 2 0. 0 450.0 DIGBH S 29 7. 0 210.0 2 N 1 0 #Envelopes 1 ENVDL E P F S 3 2 0. 0 450.0 DIGBH S 13 0. 0 225.0 1 N 1 0#在第一行实际字符串应该像CARDS 1 GA350C 320.0 450.0 DIGCLR 90.0 55.0 2 Y 4 4这里Y代表是,所以这个字符有时候N代表No我怎么能以我展示的方式加入数字和字母?无论我使用的字符串长度如何,它都必须工作

$string = "CARDS 1 GA350C 3 2 0 . 0 450.0 DIGCL R 90 . 0 55.0 2Y 4 4 #";
$newstring = preg_replace("/(d+)s+(?=d+)/","$1",$string);

但没有运气,有人有解决方案吗?感谢您查看此问题.

解决方法

我不会在一个preg_replace中做到这一点.

以下代码将所有奇怪格式的数字带入新格式,例如:

$string = "CARDS 1 GA350C 3 2 0 . 0 450.0 DIGCL R 90 . 0 55.0 2 Y 4 4";
    preg_match_all("/(d+s)+.s?0/",$string,$matches);
    $newNumbers = array_map(
        function ($number) { return str_replace(' ','',$number); },$matches[0]
    );
    $newstring = str_replace($matches[0],$newNumbers,$string);

结果:

CARDS 1 GA350C 320.0 450.0 DIGCL R 90.0 55.0 2 Y 4 4

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读