|
|
楼主 |
发表于 2021-11-4 16:49:32
|
显示全部楼层
问题_2
无法处理这种情况,行首包含姓名:、电话:、地址:,详细地址里面包含空格
姓名:黄二
电话:18888888888
地址:广东省佛山市 顺德区南方医科大学
[代码 test_2.bat]- @echo off
- setlocal enabledelayedexpansion
- cd /d "%~dp0"
- sed -r "s/[ ,]/\n/g; s/[0-9]{11}/&\n;/; s/姓名|电话|地址|[::]//g" "1.txt" > "2.txt"
- >"2.csv" echo 姓名,手机号,地址
- set "Output=0"
- (for /f "tokens=1* delims=:" %%h in ('type "2.txt" ^| findstr /v "^;$" ^| findstr /n .*') do (
- set "str=%%i"
- if "!str:~0,1!" equ "1" (
- set "Mobile=%%i"
- ) else if "x!str:~4,1!" equ "x" (
- set "Name=%%i"
- ) else (
- if "x!Addr1!" equ "x" (
- set "Address=%%i"
- set "Addr1=1"
- ) else (
- set "Address=!Address!%%i"
- )
- )
- if "x%%i" equ "x" (
- if !Output! equ 0 (
- echo,!Name!,!Mobile!,!Address!
- set "Addr1="
- set "Output=1"
- )
- ) else (
- set "Output=0"
- )
- ))>>"2.csv"
复制代码 |
|