从 Text Js 中搜索特定单词,包括特殊字符
Search a specific word from Text Js , Including Special Characters
我有一个数组,我循环逐字提取并比较它们以在大文本中找到任何匹配项。
var myString="I know the languages C, C# and JAVA"
var languages=['JAVA','C','Angular','C++','Python','C#'];
for (var i=0;i<languages.length;i++){
var myPattern = new RegExp('(\w*'+languages[i]+'\w*)','gi');
var matches = myString.match(myPattern);
if (matches != null)
{
console.log(languages[i]);
}
}
当我到达 C# 或 C++ 时正则表达式抛出错误?
任何提取这两个以及其他内容的东西都将不胜感激。
注意我还需要转义其他特殊字符如(',','.','|');
不需要正则表达式,这是一个简单的 indexOf
操作,甚至比正则表达式的结果 "better" - 例如您还可以指明字符串在文本中的位置。
const myString="I know the languages C, C# and JAVA";
const languages=['JAVA','C','Angular','C++','Python','C#'];
languages.forEach(lang => {
let x;
if ((x = myString.indexOf(lang)) > -1) {
console.log(`Found ${lang} at position ${x}`);
}
});
也可以使用 String includes()
方法。 includes()
方法判断一个字符串是否包含指定字符串的字符。如果字符串包含字符,则此方法 returns true
,如果不包含 false
。注意这个方法是case sensitive
.
var myString = 'I know the languages C, C# and JAVA',
languages = [ 'JAVA','C','Angular','C++','Python','C#' ];
for ( var i = 0; i < languages.length; i++ ) {
if ( myString.includes( languages[ i ] ) ) console.log( languages[ i ] )
}
我有一个数组,我循环逐字提取并比较它们以在大文本中找到任何匹配项。
var myString="I know the languages C, C# and JAVA"
var languages=['JAVA','C','Angular','C++','Python','C#'];
for (var i=0;i<languages.length;i++){
var myPattern = new RegExp('(\w*'+languages[i]+'\w*)','gi');
var matches = myString.match(myPattern);
if (matches != null)
{
console.log(languages[i]);
}
}
当我到达 C# 或 C++ 时正则表达式抛出错误? 任何提取这两个以及其他内容的东西都将不胜感激。 注意我还需要转义其他特殊字符如(',','.','|');
不需要正则表达式,这是一个简单的 indexOf
操作,甚至比正则表达式的结果 "better" - 例如您还可以指明字符串在文本中的位置。
const myString="I know the languages C, C# and JAVA";
const languages=['JAVA','C','Angular','C++','Python','C#'];
languages.forEach(lang => {
let x;
if ((x = myString.indexOf(lang)) > -1) {
console.log(`Found ${lang} at position ${x}`);
}
});
也可以使用 String includes()
方法。 includes()
方法判断一个字符串是否包含指定字符串的字符。如果字符串包含字符,则此方法 returns true
,如果不包含 false
。注意这个方法是case sensitive
.
var myString = 'I know the languages C, C# and JAVA',
languages = [ 'JAVA','C','Angular','C++','Python','C#' ];
for ( var i = 0; i < languages.length; i++ ) {
if ( myString.includes( languages[ i ] ) ) console.log( languages[ i ] )
}