Войти

Показать полную графическую версию : Нужно удалить в строках все символы до определенного


maxload
21-06-2019, 13:17
Всем привет, вопросы нуба к знающим ;)

Помогите с такими операциями, как их реализовать?

1. Есть список строк, в каждой из которых присутствует символ @ нужно удалить всё что идет до этого символа в каждой строке.

Как пример, есть список вида:

abcde@abcde
abcde@12345
abcde@1ab2d3

на выходе нужно получить:

@abcde
@12345
@1ab2d3


2. В похожем списке, где в каждой строке присутствует символ @, нужно поменять местами всё, что идет до символа @ с тем, что идет после этого символа

Как пример, есть список вида:

abcde@1122334455
asdfg@zxcvb
bbbbb22222@11111aaaaa

на выходе нужно получить:

1122334455@abcde
zxcvb@asdfg
11111aaaaa@bbbbb22222

2ой вопрос мб не так просто реализовать, но может кто подскажет хотя бы по-первому, как решить

megaloman
21-06-2019, 14:14
maxload, Я думал уже каникулы :)
Решение в обоих случаях отличается мизерабельно.@Echo Off
Set "FileIn=Z:\Box_In\spisok1.txt"
>"%FileIn%.tmp" (FOR /F "usebackq tokens=1,* delims=@" %%i IN ("%FileIn%") DO If Not "%%j"=="" (Echo @%%j) Else (Echo %%i))
>nul Move /Y "%FileIn%.tmp" "%FileIn%"
Exit /B
@Echo Off
Set "FileIn=Z:\Box_In\spisok2.txt"
>"%FileIn%.tmp" (FOR /F "usebackq tokens=1,* delims=@" %%i IN ("%FileIn%") DO If Not "%%j"=="" (Echo %%j@%%i) Else (Echo %%i))
>nul Move /Y "%FileIn%.tmp" "%FileIn%"
Exit /B

maxload
21-06-2019, 17:28
спасибо!

maxload, Я думал уже каникулы »

А что только школьники не умеют этого? )

Iska
22-06-2019, 11:10
А что только школьники не умеют этого? ) »
Нет, ещё и студенты.




© OSzone.net 2001-2012