shell中的%?为啥可以去掉字符串最后一个字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中的%?为啥可以去掉字符串最后一个字符相关的知识,希望对你有一定的参考价值。

product="$product%?"
可以删掉最后一个字符,我知道%可以截取字符串,可是后面的?是什么含义啊

那个%的意思是, 将前面的字符串从后往前找到给定字串,并删除它, 后面给的子串可以使用?*通配符
$product%? 表示从product变量中末尾去掉一个字符(?通配符表示任意一个字符),如果改成$product%?? 就是去掉两个
参考技术A 在shell中%?属于变量是不能去掉的,能去掉的只有空格和换行。

java中替换String中的最后一个字符

比如String a="StringGo"
有个数组是String b="a","b","o",.....;
取得a中的最后一个字符跟b数组中比较后如果b中包含a中的最后一个字符,就给替换。

替换最后一个字符实现方式有两种:
1:使用replace替换方法
String str="hello world";

str=str.replace(str.charAt(str.length-1)+"","新字符");

2:编写代码替换
String str="hello world";

char[] items=str.toCharArray();

itms[items.length-1]=\'新字符\';
参考技术A 不知你要的是不是这个答案?
public class TestString
public static void main(String[] args)
String a = "StringGo";
String[] b = "a","b","o";

//得到字符串中最后一个字符
//注意最好在接受的时候用char类型的包装类Character
Character lastChar = a.charAt(a.length() - 1);

for (int i = 0; i < b.length; i++)
if (lastChar.toString().equals(b[i]))
b[i] = "替换";



for (int i = 0; i < b.length; i++)
System.out.println(b[i]);


本回答被提问者采纳
参考技术B java中字符串的方法都可以可以使用正则匹配查找

String a="StringGO";
String b="a","b","c";
String reg = “”;
for(int i=0;i<b.lengh;i++)
reg+="["+b[i]+"]+|";

reg = reg.subString(reg.length-1);
a.lastIndex(reg,替换字符);
参考技术C 你想怎么换? 参考技术D 谁替换谁?

以上是关于shell中的%?为啥可以去掉字符串最后一个字符的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本里,如何删除变量的最后一个字符?

为啥dma只接收最后一个字符

shell脚本里,如何删除变量的最后一个字符?

为啥字符串流的循环给我最后一个字两次[重复]

sql 怎么去掉最后一个字符,请看详细

js 字符串获取最后一个元素