当前位置:首页 » 编程软件 » 脚本判断字符串

脚本判断字符串

发布时间: 2022-06-16 04:12:27

脚本要求:指示用户从键盘输入一个字符,通过case语句判断该字符是否为字母,数字,或其它控制字符

最后两个分号去掉就可了。

#!/bin/bash
read-p"presssomekey,thenpressreturn:"KEY
case$KEYin
[a-z]|[A-Z])
echo"It'saletter."
;;
[0-9])
echo"It'sadigit."
;;
*)
echo"It'sfunctionkeys、Spacebarorotherksys."
esac

❷ .bat脚本,如何判断字符串变量a是否包含字符串变量b

@echo off
set /p a=请输入变量A的值
set /P b=请输入变量B的值
::对比代码开始

echo+%a%|findstr "%b%" //读取变量A赋值与FINDSTR命令
::检查FINDSTR命令的返回值。
if %errorlevel% equ 0 (
echo ok
) else (
echo not ok
)

❸ shell 如何判断字符串是否以"/"结尾

学习shell的时候总是被shell里的条件判断方式搞得头疼,经常不知道改 用[],[[]],(())还是test,let,而很少有书把它们的关系讲解的很清楚(应该是我悟性差或是看书太少),今天总结一下,基础的东西如它们 的使用方法不再赘述,重点说说它们的区别的使用时应该注意的地方。

先说[]和test,两者是一样的,在命令行里test expr和[ expr ]的效果相同。test的三个基本作用是判断文件、判断字符串、判断整数。支持使用与或非将表达式连接起来。要注意的有:

1.test中可用的比较运算符只有==和!=,两者都是用于字符串比较的,不可用于整数比较,整数比较只能使用-eq, -gt这种形式。无论是字符串比较还是整数比较都千万不要使用大于号小于号。当然,如果你实在想用也是可以的,对于字符串比较可以使用尖括号的转义形式, 如果比较"ab"和"bc":[ ab < bc ],结果为真,也就是返回状态为0.

然后是[[ ]],这是内置在shell中的一个命令,它就比刚才说的test强大的多了。支持字符串的模式匹配(使用=~操作符时甚至支持shell的正则表达 式)。简直强大的令人发指!逻辑组合可以不使用test的-a,-o而使用&&,||这样更亲切的形式(针对c、java程序员)。当 然,也不用想的太复杂,基本只要记住

2.字符串比较时可以把右边的作为一个模式(这是右边的字符串不加双引号的情况下。如果右边的字符串加了双引号,则认为是一个文本字符串。),而不仅仅是一个字符串,比如[[ hello == hell? ]],结果为真。

另外要注意的是,使用[]和[[]]的时候不要吝啬空格,每一项两边都要有空格,[[ 1 == 2 ]]的结果为“假”,但[[ 1==2 ]]的结果为“真”!后一种显然是错的

3.最后就是let和(()),两者也是一样的(或者说基本上是一样的,双括号比let稍弱一些)。主要进行算术运算(上面的两个都不行),也比较适合进行整数比较,可以直接使用熟悉的<,>等比较运算符。可以直接使用变量名如var而不需要$var这样的形式。支持分号隔开的多个表达式

1.首先,尽管很相似,但是从概念上讲,二者是不同层次的东西。
"[[",是关键字,许多shell(如ash bsh)并不支持这种方式。ksh, bash(据说从2.02起引入对[[的支持)等支持。
"["是一条命令, 与test等价,大多数shell都支持。在现代的大多数sh实现中,"["与"test"是内部(builtin)命令,换句话说执行"test"/"["时不会调用/some/path/to/test这样的外部命令(如果有这样的命令的话)。

2.[[]]结构比Bash版本的[]更通用。在[[和]]之间的所有的字符都不会被文件扩展或是标记分割,但是会有参数引用和命令替换。

用[[ ... ]]测试结构比用[ ... ]更能防止脚本里的许多逻辑错误。比如说,&&,||,<和>操作符能在一个[[]]测试里通过,但在[]结构会发生错误。

3.(( ))结构扩展并计算一个算术表达式的值。如果表达式值为0,会返回1或假作为退出状态码。一个非零值的表达式返回一个0或真作为退出状态码。这个结构和先前test命令及[]结构的讨论刚好相反。

4.[ ... ]为shell命令,所以在其中的表达式应是它的命令行参数,所以串比较操作符">"与"<"必须转义,否则就变成IO改向操作符了(请参看上面2中的例子)。在[[中"<"与">"不需转义;
由于"[["是关键字,不会做命令行扩展,因而相对的语法就稍严格些。例如
在[ ... ]中可以用引号括起操作符,因为在做命令行扩展时会去掉这些引号,而在[[ ... ]]则不允许这样做

❹ lua脚本中怎么对比字符串

lua 字符串的比较 是检测字符串的hash是否一样来判断两个字符串是否相等
测试代码如下:
local a = "dfadfafdasf"
local b = "dfadfafdasf"
print(a==b)

❺ shell脚本判断字符串等于3或者99的输出那一行

可以使用 if-elif-else 语法来写多条件语句。

1、首先要理解if-else的基本用法,if条件+then操作+else操作+fi闭合,书写方法如下:

❻ 脚本里面如何比较字符串的匹配模式

比如变量是strstr="thisisastring"要想在判断str中是否含有"this"这个字符串,下面的语句是可行的[[$str=~"this"]]&&echo"\$strcontainsthis"[[$str=~"that"]]||echo"\$strdoesNOTcontainthis"

❼ 关于linux中shell脚本如何判断文件名称中是否含有某字符串

if [ -e filename ];
我觉得是你括号错了…此外这种括号不能用通配符…试试[[]]?不行可以用for代替if

❽ JSP脚本判断两字符串相等的问题

javaScript
中字符串比较没有equals()方法,可以直接用==比较两个字符串是否相等
追问:
if(receiveUname.equals(myName)){
errorMsg
+=
"\n不允许跟自己发消息";
}
就是这一段
加上去
上面两个条件
都没有反应了....怎么弄啊!
++分
回答:
receiveUname.equals(myName)
javaScript中字符串比较没有equals()方法用receiveUname==myName
追问:
好像
没反应的
我试了的
是不是变量的问题?
回答:
var
myName=document.form[0].sendUname.value;
form
是forms

追问:
en
解决了
谢啦

❾ 怎么用shell脚本语言,判断输入的字符串是否包含字母或者数字

read-p"请输入一个字符串"str
ifecho"$str"|grep"[a-zA-Z]">/dev/null&&echo"$str"|grep"[0-9]">/dev/null
then
echo"yes"
else
echo"no"
fi

❿ shell脚本判断字符串是否包含某个字符

方法一:利用grep查找
strA="long string"strB="string"result=$(echo $strA | grep "${strB}")if [[ "$result" != "" ]]then echo "包含"else echo "不包含"fi

方法二:利用字符串运算符 《Linux就该这么学》 一起学习linux
strA="helloworld"strB="low"if [[ $strA =~ $strB ]]then echo "包含"else echo "不包含"fi
方法三:利用通配符
A="helloworld"B="low"if [[ $A == *$B* ]]then echo "包含"else echo "不包含"fi

热点内容
定义dns服务器的ip 发布:2025-05-17 20:32:37 浏览:952
android判断图片 发布:2025-05-17 20:32:33 浏览:832
安卓12什么时候适配小米 发布:2025-05-17 20:31:47 浏览:69
c语言字符串初始化 发布:2025-05-17 20:18:43 浏览:36
安卓融e联推送需要什么权限 发布:2025-05-17 20:18:39 浏览:268
我的世界无限武魂服务器 发布:2025-05-17 20:17:09 浏览:371
安卓手游脚本语言 发布:2025-05-17 19:53:07 浏览:21
找圈算法 发布:2025-05-17 19:49:19 浏览:410
数据库的存取方法 发布:2025-05-17 19:48:36 浏览:125
androidapp测试 发布:2025-05-17 19:48:19 浏览:389