我打算删除最后六个字符的程序 这是我的代码
Please write six number
123456
String: S4P6W7M522SC3OXX55K3NN77666N34M2
Result 6N34M2
New String: S4P6W7M522SC3OXX55K3NN77666N34M2
//显示输出
New String: S4P6W7M522SC3OXX55K3NN7766123456
应该是
"noImplicitAny": false
我不知道为什么替换是不正确的
答案 0 :(得分:1)
你的问题是你使用的是7个字符的数组,如果用这个数组检查你构建的String的长度(export function copyYearData() {
let data='';
['1','2','3'].forEach((item)=>{
if(item === '2'){
data = item;
}
})
if(data != ''){
return{
type: 'COPY_DATA',
payload: data,
}
}
};
),你将得到7个字符,所以它不能匹配你试图替换的子字符串只有6个字符。 (你在结尾处有0的字符(值,而不是数字)
使用6的数组
kod
防止出现此问题。
如果您的字符串短于32个字符,这有点冒险。你可以简单地从最后读取数组,只读取6个字符(或直到你到达索引0)
但是你也可以在字符串中的其他地方拥有最后6个字符序列。这也将替换第一个序列(如果使用 char[] chars = new char[6];
)或仅替换当前代码的第一个序列
使用子字符串删除最后6个字符会更简单,更安全。
只需要确保你的字符串至少为6个字符,诀窍是使用Math.max:
replaceAll()
如果字符串要短, napis.substring(0, Math.max(napis.length() - 6, 0)) + numberString;
将只给0。
答案 1 :(得分:0)
这是解决方案的简单方法。
value