场景:
接入deepseek模型的api到我们平台,返回的字符串需要做下格式化处理。
返回的数据是这样的:
{
"role": "assistant",
"content": "<think>\n嗯,用户问的是“星体是什么”。首先,我得理解这个问题。星体听起来像是天文学中的概念,但可能用户是想了解更普遍的意思,比如指天上的那些明亮的点状对象,或者在日常生活中人们说的“星体”是指某种东西。\n\n我记得在天文学里,有很多类型的天体,比如恒星、行星、卫星、星云、星团等等。可能用户想让我解释这些概念。但也许用户是在问更广义的“什么是星体”,比如天空中有星体的意思。\n\n接下来,我要考虑用户的意图。他们可能对夜空中的星体感兴趣,或者在某个特定领域使用这个词,比如艺术、文学或哲学。如果是前者,那我需要解释星体在天文学中的定义和分类;如果是后者,可能需要更广泛的解释。\n\n再想想,用户之前问过关于“星空的颜色”,这可能意味着他们对夜空有浓厚兴趣。所以现在问“星体是什么”可能是在深入了解夜空中的这些点状天体。\n\n另外,我要考虑是否有文化差异影响词义。在中文里,“星体”可能更偏向于天文学上的定义,而在其他语言中可能有不同的解释。但根据用户的上下文,应该是指天文学中的概念。\n\n还有一个可能性是用户想了解“星体”在日常生活中的应用,比如在光学、医学或建筑中的用途。这也是一个合理的方向,但需要更多的信息来判断。\n\n总之,我需要明确“星体”具体指的是什么,以及用户希望得到哪方面的解释。为了全面回答,我可以涵盖天文学中的主要类型,并提到它们在不同文化和领域中的应用。\n</think>\n\n**星体**是天文学中描述天空中明亮点状物质的一个术语,常见于天文学和宇宙学研究中。以下是一些常见的星体类型:\n\n1. **恒星**:恒星是宇宙中最常见且最基本的天体,它们通过核聚变将燃料转化为能量,发出光芒和热量。恒星可以根据温度、大小和亮度等特征分为多种类型,如太阳型恒星、红巨星、白矮星等。\n\n2. **行星**:行星是天体中与恒星不同的天体,它们围绕恒星运转,可能携带生命。我们的太阳系有八大行星(包括地球)。\n\n3. **卫星**:卫星是指天体围绕其他天体运行的天然天体,如月球绕太阳运行,或像木星的大卫星。\n\n4. **星云或星团**:星云是天空中由大量恒星组成的模糊区域,通常由星际气体和尘埃形成。星团则是距离地球较远的恒星群,通常包含多个星云。\n\n5. **星座**:星座是指天空中一带明亮的恒星构成的象限,常与文化、历史和传说相关联,如大角星座、狮子座等。\n\n6. **星体碎片或小行星**:这些可能是原始天体破裂后的碎片,或是在太空中漂浮的天然物质。\n\n如果你有更具体的问题或需要进一步了解某个类型,请告诉我!"
}
然后我想处理成下面这样,可以直接放在文本中使用
需要做的处理如下:
<div class="answer1" v-if="item[1]" v-html="processInputString(item[1].content)"></div>
...
processInputString(input) {
const withoutThink = input.replace(/<think>.*?<\/think>/gs, '');
const withBreaks = withoutThink.replace(/-/g, '<br>');
let boldCount = 0;
const processed = withBreaks.replace(/\*\*/g, () => {
boldCount++;
return boldCount % 2 === 1 ? '<b>' : '</b>';
});
return processed.trim();
}