找回密码
 加入
搜索
查看: 47|回复: 1

[系统综合] 把数据他分割为三段,分割不出来

[复制链接]
发表于 前天 19:47 | 显示全部楼层 |阅读模式
本帖最后由 5735988 于 2026-1-21 19:52 编辑

#include <Array.au3>
; Local $str = "语文251/231/354/555/037/345/114张三"
; Local $str = "体育251/231/354/555/037/345/114张2三"
; 上面这2个也会出现

Local $str = "数学251/555/037/345/114李明"
Dim  $Str2 ,$Zu_Liu
$str = StringReplace($str, ".\d{3}", " \d{3} ")  ;整理三个号码的
$array = StringRegExp($str, "(?<!\d)\d{3}(?!\d)", 3)  ;  作用是  替换掉/  为空格
For $i = 0 To UBound($array) - 1
;~         MsgBox(4096, "转换完毕:", $array[$i], 1)
        If $array = "NotFound" Then
        Else
                $Str2 &= $array[$i] & " "

        EndIf
Next

$Zu_Liu = StringSplit($str, $Str2, 2)
_ArrayDisplay($Zu_Liu)

想要的结果:251 555 037 345 114 数学李明
思路,我想把他分割为三段,【1】 【2】【3】   就可以调换位置了,没想到好办法。



发表于 昨天 14:21 | 显示全部楼层
本帖最后由 3131210 于 2026-1-22 14:26 编辑
Local $sSource = _
                '语文251/231/354/555/037/345/114张三' & @CRLF & _
                '体育251/231/354/555/037/345/114张2三' & @CRLF & _
                '数学251/555/037/345/114李明'
;~ MsgBox(0, '源字符串', $sSource)
Local $sSRERe = StringRegExpReplace($sSource, '(?m)^(.+?)([\d\/]+)(.+)$', '\2 \1\3')
MsgBox(0, '替换结果', $sSRERe)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2026-1-23 10:14 , Processed in 0.217195 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表