首页 > 其他分享 >bat 批处理字符串操作

bat 批处理字符串操作

时间:2024-03-14 22:33:20浏览次数:29  
标签:bat set strstr goto 批处理 strpair 字符串 strlen eof

Setlocal EnableDelayedExpansion

set strpair_in=asdasd = 235-23=246
set strpair_key= = 
call :strpair
echo %strpair_name%
echo %strpair_value%

goto :eof



:strpair
rem strpair_name, strpair_value = :strpair(strpair_in, strpair_key)
set strpair_name=
set strpair_value=
set strstr_in=%strpair_in%
set strstr_key=%strpair_key%
call :strstr
if "%strstr_pt%" == "-1" goto :eof
set strlen_in=%strpair_key%
call :strlen
set strpair_keylen=%strlen_len%
set /a strpair_ptn=strstr_pt+%strpair_keylen%
set strpair_name=!strstr_in:~0,%strstr_pt%!
set strpair_value=!strstr_in:~%strpair_ptn%!
goto :eof


:strlen
rem strlen_len = :strlen(strlen_in)
set strlen_len=0
:strlen_loop
set strlen_chk=!strlen_in:~0,%strlen_len%!
if "%strlen_chk%"=="%strlen_in%" goto :eof
set /a strlen_len+=1
goto :strlen_loop
goto :eof


:strstr
rem strstr_pt = strstr(strstr_in, strstr_key)
set strstr_pt=0
set strlen_in=%strstr_key%
call :strlen
set strstr_keylen=%strlen_len%
:strstr_loop
set strstr_chk=!strstr_in:~%strstr_pt%,%strstr_keylen%!
if "%strstr_chk%"=="%strstr_key%" goto :eof
if "%strstr_chk%" == "" (
 set /a strstr_pt=-1
 goto :eof
)
set /a strstr_pt+=1
goto :strstr_loop
goto :eof


标签:bat,set,strstr,goto,批处理,strpair,字符串,strlen,eof
From: https://www.cnblogs.com/zzz3265/p/18074192

相关文章

  • MybatisPlus
    入门MyBatis-Plus(opensnewwindow)(简称MP)是一个MyBatis(opensnewwindow)的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。准备数据DROPTABLEIFEXISTS`user`;CREATETABLE`user`(idBIGINTNOTNULLCOMMENT'主键ID',name......
  • Mybatis
    概述表现层(UI):直接跟前端打交互(一是接收前端ajax请求,二是返回json数据给前端)业务逻辑层(BLL):一是处理表现层转发过来的前端请求(也就是具体业务),二是将从持久层获取的数据返回到表现层。数据访问层(DAL):直接操作数据库完成CRUD,并将获得的数据返回到上一层(也就是业务逻辑层)。Java持久......
  • 提高级字符串
    哈希和哈希表前缀函数&&KMP前缀函数定义:\(nxt[i]\)KMP例题1.无线传输(luogu4391/ybt1467)求一个字符串的最短周期结论:\[ans=n-nxt[n]\]证明:两条白线是最长的相等的前缀和后缀可得\(1=2,2=3,3=4,4=5......\)所以周期的长度就是1的长度也就是\(n-nxt[n]\)2.powers......
  • 04_C++字符串_迭代器使用
    概念:迭代器是一种检查容器内元素并遍历元素的数据类型,通常用于对C++中各种容器内元素的访问,但不同的容器有不同的迭代器,初学者可以将迭代器理解为指针。1.使用迭代器使用begin和end,begin成员负责返回第一个元素(或者第一个字符)的迭代器。end成员返回指向容器“尾元素的下一个位置......
  • 开启mybatis二级缓存
    mybatis的二级缓存是mapper级别的,也就是同一个mapper下的查询,可以使用缓存里面的值下面就写个demo记录下没有使用缓存之前service@OverridepublicDevicegetUserById(Longid){DevicebyId=deviceMapper.getDeviceById(id);log.info("=======......
  • mybatis中常见的动态SQL标签
    在xml中写动态SQL的的时候,有一些常见的,如if、foreachSELECTa.*,c.product_nameFROMwork_orderaLEFTJOINproductcONa.product_code=c.product_codeANDc.del_flag=0wherea.del_flag=0<iftest="orderQueryReq.productCode......
  • 【Anaconda环境报错】‘activate.bat‘ 不是内部或外部命令,也不是可运行的程序 或批处
    在使用Anaconda进行Python开发时,我们经常需要激活Anaconda环境来确保我们的代码在正确的环境中运行。然而,有时我们可能会遇到"‘activate.bat’不是内部或外部命令,也不是可运行的程序或批处理文件"的错误提示,这会导致我们无法成功激活所需的环境。本文将介绍一些可能的解决......
  • mybatis plus saveBatch报错问题
    sessionRecordHumanService.saveBatch(dataList);具体报错如下:org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.exceptions.PersistenceException: ###Errorupdatingdatabase.Cause:java.lang.IllegalArgumentException:MappedSta......
  • mybatis oracle数据库批量插入数据,忽略主键重复
    dao方法IntegerinsertPackagesNew(@Param("list")List<InfCollectpackage>list);mapper.xml<insertid="insertPackagesNew"parameterType="java.util.List">MERGEINTOINF_COLLECTPACKAGEAUSING(&......
  • In-batch negatives Embedding模型介绍与实践
    语义索引(可通俗理解为向量索引)技术是搜索引擎、推荐系统、广告系统在召回阶段的核心技术之一。语义索引模型的目标是:给定输入文本,模型可以从海量候选召回库中快速、准确地召回一批语义相关文本。语义索引模型的效果直接决定了语义相关的物料能否被成功召回进入系统参与上层排序,从......