如何获得字符串1&放大器之间的文本;字符串2的下一个实例,并设置为批处理变量? [英] How to get the text between string1 & next instance of string2 and set as Batch variable?

查看:409
本文介绍了如何获得字符串1&放大器之间的文本;字符串2的下一个实例,并设置为批处理变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在那里的文件将基于什么是在HTML code编辑系统。我需要找到字符串1之间的文本(字符串1是用户名)字符串2的下一个实例1,字符串之中:

 < / BR>< BR>中

我已经看过其他职位,但<和>符号似乎并没有工作。如果它没有被设置为一个批次的变量,我不介意,说只是在一个文本文件中。

在此先感谢,
汤姆。


解决方案

 关闭@echo
SETLOCAL EnableDelayedExpansion一套行=用户名:所需信息和LT; / BR>< BR>中
设置字符串1 =用户名:
设置字符串2 =< / BR>< BR>中REM从开始一直到字符串1移除
一套行=行:!*%字符串1%=REM由一个字符分隔符更改字符串2
集!行=行:%字符串2%= |!REM获取所需信息
FOR / Fdelims = | %%一个在(%线%)并设置结果= %%一个回声结果:%结果%

I am making a system where files will be edited based on what is in a HTML code. I need to find the text between string1 (string1 being "Username:") and the next instance of string2, string2 being:

"</br><br>"

I have looked at other posts, but the "<" and ">" symbols don't seem to work. I don't mind if it isn't set as a Batch variable, say just in a text file.

Thanks in advance, Tom.

解决方案

@echo off
setlocal EnableDelayedExpansion

set "line=Username:Desired Information</br><br>"
set "string1=Username:"
set "string2=</br><br>"

rem Remove from beginning until string1
set "line=!line:*%string1%=!"

rem Change the string2 by a one character delimiter
set "line=!line:%string2%=|!"

rem Get the desired information
for /F "delims=|" %%a in ("%line%") do set "result=%%a"

echo Result: "%result%"

这篇关于如何获得字符串1&放大器之间的文本;字符串2的下一个实例,并设置为批处理变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆