2015-04-13 4 views
2

Мне нужна командная команда для возврата всего до определенной подстроки.До определенной подстроки

Что я имею в виду, когда у меня есть такая строка: "Hi! How are you doing? I don't care!!!!!" Я могу выполнить команду, которая дает мне все до "?".

Я огляделся по сторонам и не нашел ничего, что хотел. Я нашел один метод, который не принял все до тех пор, после того, как подстроки и изменил его:

set name=123456789 
set blablabla=%name:*5=5% 

Это возвращает "56789" переменной blablabla. Строки в моей программе не будут конкретными, так что это не сработает.

Благодарим за помощь!

ответ

1

Я не полностью понял ваши требования. Но я думаю, что PowerShell - лучший вариант для этого. Тем не менее, вы можете использовать следующий скрипт, чтобы получить все символы до заданного разделителя.

@echo off 
set delim=%1 
set input=%2 
for /f "delims=%upto%" %%i in ("%input%") do (
echo %i 
goto :eof 
) 

команда Пример запуска:

stringupto.bat 5 123456789 

Выход:

1234 
2

Использование sed и regular expressions:

$ string1='Hello my name is Foobar? What do I care!' 
$ string2=$(echo $string1 | sed 's/^.*\? //') 
$ echo $string2 
What do I care! 
+0

Жаль, что я мог бы отметить два ответа – Christian4561

+0

Если бы я мог, я будет отмечать ваш ответ – Christian4561

Смежные вопросы