recordResult1() { // data
let data = {
"text": "今天天气比较一般,虽然我不是那么喜欢烈日,不过阳光明媚的感觉是很不错滴。等到夏天 8 月嗯,我就去提车,拿下我的凯迪拉克 CT6,然后去周边城市旅游。没有尝试过自驾游,这次的好好体验一下开着车去旅行的惬意感觉。不说了,好好地工作,努力向前,冲鸭!!!",
"length": 124,
"items": [
{
"text": "今天天气比较一般,",
"original": "今天天气比一般,",
"section": [
{
"operation": 3,
"explain": "建议插入“较”,让语义更清晰",
"label": "030200",
"score": 0.873086154460907,
"begin": 5,
"end": 5
}
]
},
{
"text": "不过阳光明媚的感觉是很不错滴。",
"original": "不过阳光明媚的感觉是狠不错滴。",
"section": [
{
"operation": 2,
"explain": "建议用“很不错”替换“狠不错”",
"label": "010200",
"score": 0.9975100755691528,
"begin": 30,
"end": 33
}
]
},
{
"text": "好好地工作,",
"original": "好好的工作,",
"section": [
{
"operation": 2,
"explain": "建议用“地”替换“的”",
"label": "010100",
"score": 0.992831826210022,
"begin": 110,
"end": 111
}
]
}
]
}
let oldText = '今天天气比一般,虽然我不是那么喜欢烈日,不过阳光明媚的感觉是狠不错滴。等到夏天 8 月嗯,我就去提车,拿下我的凯迪拉克 CT6,然后去周边城市旅游。没有尝试过自驾游,这次的好好体验一下开着车去旅行的惬意感觉。不说了,好好的工作,努力向前,冲鸭!!!'
let { items } = data
items.forEach(itemInfo => {
let itemNewText = itemInfo.text
let itemOldText = itemInfo.original
itemInfo.section.forEach(sectionInfo => {
let { explain } = sectionInfo // explain 修改建议
console.log(oldText)
console.log(itemOldText)
let { startIndex, endIndex } = this.findSubstringIndices(oldText, itemOldText)
console.log(startIndex, endIndex)
if (startIndex == -1) return;
const substring = oldText.slice(startIndex, endIndex);
const styledSubstring = `<span style="color: red; font-weight: bold;"><a-tooltip placement="bottom"><template #title><span>${explain}</span></template>${substring}</a-tooltip></span>`;
oldText = oldText.replace(substring, styledSubstring);
})
})
let dataObj = {
oldText,
// text,
items
}
console.log(dataObj)
},
// 获取字符串中某一段的下标
findSubstringIndices(mainString, substring) {
let startIndex = mainString.indexOf(substring)
if (startIndex === -1) {
return { startIndex: -1, endIndex: -1 } // 如果子字符串不存在,返回-1
}
let endIndex = startIndex + substring.length - 1
return { startIndex, endIndex }
},
// 把富文本的文字提取出来
getSimpleText(html) {
var re1 = new RegExp("<.+?>", "g")//匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
var msg = html.replace(re1, '')//执行替换成空字符
return msg
},
字符串截取和替换
于 2024-05-30 23:06:36 首次发布