如何在控制台取消文本粗体样式同时保留原有颜色?
解决方案:用
\033[22m仅取消粗体,保留当前颜色 直接用转义序列\033[22m就能实现你的需求——它只会取消粗体/增强强度的样式,完全不会改变已经设置好的文本颜色。
举个实际的例子,假设你一开始设置了红色文本:
\033[0;31m 这是默认红色文本 \033[1mHELLO\033[22m 这部分回到红色普通样式
执行后,HELLO会是红色粗体,前后的文本则保持原来的红色、无粗体状态,完全符合你的要求。
补充说明
ANSI转义码里,样式属性是独立控制的:
\033[1m:开启粗体/增强强度\033[22m:重置为正常强度(取消粗体,不影响颜色)\033[0m:重置所有样式(包括颜色、粗体等,回到控制台默认)
所以只要在加粗文本结束后加上\033[22m,就能精准取消粗体,保留当前的颜色设置。
内容的提问来源于stack exchange,提问作者fdamien12
相关产品推荐
相关产品推荐

