我正在使用 react-native-highlight-words 包来突出显示匹配的搜索结果,当我遇到带有撇号的单词时 例如: l'areal、mommy's 等,这些都没有突出显示。带有其他特殊字符的单词会突出显示。
type here<Highlighter
style={styles.searchResultTxt}
highlightStyle={styles.highlightedStyle}
searchWords={[searchParam, 'Doctor', "'"]}
textToHighlight={renderDisplayText(data)}
ellipsizeMode={'tail'}
numberOfLines={1}
autoEscape={true}
/>
const renderDisplayText = item => {
let txtDisplay = item?.title || '';
if (item?.subTitle !== null && item.subTitle !== '') {
txtDisplay += ' in ' + item.subTitle;
}
return txtDisplay;
};
我尝试在 searchWords 数组中添加撇号,但它仅突出显示撇号。 无法找到足够的资源来查找类似的问题。有人可以帮我找到一个修复程序来突出显示带有撇号的单词吗?
尝试更改
<Highlighter>
组件中的 prop。
autoEscape={false}
这可能会禁用特殊字符(包括撇号)的自动转义。现在,searchWords 数组将匹配整个单词,包括撇号,从而实现正确的突出显示。
此外,如果您需要更多控制,您还可以为其创建自定义正则表达式。