22 lines
624 B
TypeScript
22 lines
624 B
TypeScript
/**
|
||
* 滚动情报文本处理:过滤非中文为主的内容
|
||
*/
|
||
/** 简体中文字符范围 */
|
||
const ZH_REGEX = /[\u4e00-\u9fff]/g
|
||
|
||
/** 文本中中文占比是否达标(至少30%) */
|
||
export function isMostlyChinese(text: string): boolean {
|
||
if (!text?.trim()) return false
|
||
const zh = text.match(ZH_REGEX)
|
||
const zhCount = zh ? zh.length : 0
|
||
return zhCount / text.length >= 0.3
|
||
}
|
||
|
||
/** 处理滚动情报项:非中文为主则过滤 */
|
||
export function processTickerText(text: string): string | null {
|
||
const t = (text || '').trim()
|
||
if (!t) return null
|
||
if (!isMostlyChinese(t)) return null
|
||
return t
|
||
}
|