BAT返回字符在字符串中的首个位置及最后一个位置

rem @echo off
SETLOCAL ENABLEDELAYEDEXPANSION 
set k=speed_dao_mmr_20141016_300008588738_2200125875
call :PosLastChar %k% _ aa
echo %aa%

pause
goto :eof

rem :poschar str tag Res
:PosChar
set SubStr=
set F=0 
set TmpVar=%1
set %3=-1
:pos_begin
set SubStr=!TmpVar:~%F%,1!
if not defined substr goto :post_end 
if "%SubStr%"=="%2" (
set %3=%f%
goto :post_end
) else (
set /a f=%f%+1
goto :pos_begin
)
:post_end
goto :eof

rem :PosLastChar str tag Res
:PosLastChar
set SubStr=
set F=0 
set TmpVar=%1
set %3=-1
:PosLastCharBegin
set SubStr=!TmpVar:~%F%,1!
if not defined substr goto :PosLastCharEnd 
if "%SubStr%"=="%2" (
set %3=%f%
set /a f=%f%+1
goto :PosLastCharBegin
) else (
set /a f=%f%+1
goto :PosLastCharBegin
)
:PosLastCharEnd
goto :eof
时间: 2024-10-24 06:57:21

BAT返回字符在字符串中的首个位置及最后一个位置的相关文章

JavaSE8基础 String lastIndexOf 反向查找 返回字符在字符串中第一次出现时的索引值

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Dome3 { public static void main(String[] args) { // 索引值 // 10 // 11 // 12 // 13 // 0123456789 String str = "abc01234543

JavaSE8基础 String indexOf 正向查找 返回字符在字符串中第一次出现时的索引值

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Dome3 { public static void main(String[] args) { String str = "abc01234543210cba"; char ch = '0'; System.out.print

C语言strchr()函数:查找某字符在字符串中首次出现的位置

头文件:#include <string.h> strchr() 用来查找某字符在字符串中首次出现的位置,其原型为:    char * strchr (const char *str, int c); [参数]str 为要查找的字符串,c 为要查找的字符. strchr() 将会找出 str 字符串中第一次出现的字符 c 的地址,然后将该地址返回. 注意:字符串 str 的结束标志 NUL 也会被纳入检索范围,所以 str 的组后一个字符也可以被定位. [返回值]如果找到指定的字符则返回该字

js如何计算一个字符在字符串中出现的次数

js如何计算一个字符在字符串中出现的次数:在实际应用中可能要计算一个字符在字符串中出现的次数,实现此功能的方式有多种,下面就介绍一个非常简单的方式.代码实例如下: function func(str,char) { var str=str; var num=(str.split(char)).length-1; return num } document.write(func("abcdefga","a")); 以上代码可以实现计算一个字符串中指定字符出现的次数.相

mysql 统计一个字符在字符串中出现的次数

CREATE  FUNCTION `str_pcount`(str varchar(255),p varchar(255)) RETURNS int(11)BEGIN    #统计一个字符在字符串中出现的次数      RETURN LENGTH(str) - LENGTH(REPLACE(str,p,''));END; 原文地址:https://www.cnblogs.com/snake23/p/9838241.html

sqlserver 查找某个字符在字符串中第N次出现的位置

前几天的考试系统出现了一个问题,背景大概就是告诉你正确答案,比如说是:答案1#答案2#答案3...而几百个学生答题的记录也是这样格式存储的,问如何用sql语句为每个学生判分? 思路: 第一步:找到第N个#在字符串中的位置 create function fn_find(@find varchar(8000), @str varchar(8000), @n smallint)     returns int as begin     if @n < 1 return (0)     declare

程序设计-----字符串中删除连续空格,只保留一个空格 数中删除连续相同的数,只保留一个数

一.问题描述 输入一个字符串,注意是可以带空格的,我们所要做的是如果字符之间有很多个连续的空格,我们只需要保留一个空格,并输出显示. 有一个类似的问题,是将一个数中连续相同的数删除掉,只保留其中一个数,如3456667,转化为34567.这个问题与字符串的问题大体上是一致的, 只是字符串限定了只有连续的空格需要处理,连续的其他字符是可以接受的,如abbbc是满足条件的,而a    bbb     ccc则要转换为a bbb ccc. 二.问题分析 在书写程序的过程中,首先的思路是以空间换取时间,

JavaSE8基础 String charAt 返回字符串中指定索引值所对应的一个字符

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        code: package jizuiku.t00; public class Demo2 { public static void main(String[] args) { String str = "abc0123456789"; System.out.println(str.charAt(2));/

C#统计一个字符在字符串中出现的次数

//第一种方法,IndexOf和LastIndexOf查找后Substring截取 string s = "aaabbbcccXXXYYY"; int index = s.IndexOf("X");//第一次X出现的位置 int last = s.LastIndexOf('X');//最后一次X出现的位置 int num = s.Substring(index,last+1-index).Length;//截取出现的位置求长度 Console.WriteLine(n