一、前置
题目概述:给定一段文本数据,要求按照用户输入,统计出文本中某个字符串出现的次数、删除某个字符串或是替换某个字符串。
针对这个问题,我们可以采用切片对文本数据进行处理。切片会根据选定的字符串将文本数据中的该字符串删除,并把剩余的部分放在一个列表中,依据这一特性,我们并可以实现统计、删除和替换功能。
二、代码实操
字符串的统计
字符串的统计,即统计出用户输入的字符串在文本中出现的次数。我们假定用户输入的字符串保存在变量userIpt中,且文本数据保存在txtContent中。
使用切片时,会将除去目标字符串的剩余的文本存放在一个列表中,所以我们只需要统计出列表的长度,并让长度-1,即可统计出字符串出现次数。
onSearch() {
console.log(this.userIpt);
const count = this.txtContent.split(this.userIpt).length - 1;
const resultt = this.txtContent.split(this.userIpt);
console.log("切片功能展示");
console.log(resultt);
console.log(count);
this.result = count;
},
字符串的删除
由于切片功能会自动删除目标字符串,并将剩余的数片文本数据存放在一个列表中,所以我们只需要将其余部分重新连接在一起即可实现删除操作。
这里使用join连接,连接字符串为空字符串""
onDelete() {
if (this.deleteString.trim() === "") {
uni.showToast({
title: '请输入要删除的字符串',
icon: 'none',
});
return;
}
// 执行删除字符串操作
const deletRe = this.txtContent.split(this.deleteString);
this.txtContent = deletRe.join("");
// 重新进行文件分析
this.analyzeFile(this.txtContent);
this.textContent = this.txtContent;
},
字符串替换
原理同字符串的删除。我们假设用户输入的字符串存放在tihuan中,用户想要替换掉的字符串存放在huantiL中,这时依据tihuan对文本数据进行切片,并用huantiL对剩余的部分进行连接
即 replaceTemp.join(targetInput)
即可完成替换操作。
onReplace() {
// 获取用户输入的字符串
const replaceInput = String(this.tihuan);
// 用户想要替换掉的字符串
const targetInput = String(this.huantiL);
console.log("输入的:", replaceInput);
console.log("目标:", targetInput);
const replaceTemp = this.txtContent.split(this.tihuan);
this.txtContent = replaceTemp.join(targetInput);
this.textContent = this.txtContent;
},