Показать полную графическую версию : Преобразовать номера телефонов в удобочитаемый вид
Есть список телефонов такого формата
ИМЯ
12223334455
И дальше вниз, через пустую строку, такого же плана.
Надо
ИМЯ
1-222-333-44-55
Можно и руками, но телефонов очень много.
Serguei Kouzmine
22-12-2022, 03:58
MZу похоже задавали это задачу когда он цмд писал
set X=12223334455
set Y0=%X:~0,1%
set Y1=%X:~1,3%
set Y2=%X:~4,3%
set Y3=%X:~7,2%
set Y4=%X:~9,2%
echo %Y0%-%Y1%-%Y2%-%Y3%-%Y4%
1-222-333-44-55
как говорится дальше сами
DJ Mogarych
22-12-2022, 09:05
Powershell
$in = "D:\temp\tel.txt"
$out = "D:\temp\out.txt"
gc "$in" |% {
if ($_ -match "^\d") {
$_.substring(0,1)+"-"+$_.substring(1,3)+"-"+$_.substring(4,3)+"-"+$_.substring(7,2)+"-"+$_.substring(9,2)
}
else {$_}
} > "$out"
Водитель №1
1-222-333-44-55
Водитель №2
1-222-333-44-66
Водитель №3
1-222-333-44-77
Водитель №4
1-222-333-44-88
Foreigner
22-12-2022, 21:23
Если каждая запись:
Имя
12223334455
<пустая строка>
(Get-Content file.txt -ReadCount 3) | Foreach-Object {
$_[0]
$_[1] -replace '(.)(...)(...)(..)(..)', '$1-$2-$3-$4-$5'
$_[2]
} | Set-Content file.txt
Или не заморачиваться, надеюсь, что имени в формате '\d{11}' нет:
(Get-Content file.txt) -replace '(\d)(\d{3})(\d{3})(\d{2})(\d{2})', '$1-$2-$3-$4-$5' | Set-Content file.txt
DJ Mogarych
22-12-2022, 21:37
'$1-$2-$3-$4-$5' »
Отлично, я про группы что-то не подумал.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.