需要替换字符串中的所有字符,但字符串开头(或单词的一部分)除外。
例如,从CSV文件中读取的文本行:
MSFT *<E07004QY6W>
WOOLWORTHS W1157
GOOGLE*ADWS7924436927
COLES 0829
ROBLOX.COM 888-858-25
7-ELEVEN 2179
COLES EXPRESS 1896
结果应为:
MSFT
WOOLWORTHS
GOOGLE
COLES
ROBLOX.COM
7-ELEVEN
COLES EXPRESS
JavaScript replace()正则表达式可以实现吗?
到目前为止尝试过:
答案 0 :(得分:2)
尝试/(\s+(\S+\d+\S+)|\*\S+)/g
<强>演示强>
function replaceRegex( input )
{
return input.replace( /(\s+(\S+\d+\S+)|\*\S+)/g, "" );
}
console.log( replaceRegex( "MSFT *<E07004QY6W>" ) );
console.log( replaceRegex( "WOOLWORTHS W1157" ) ); //output is WOOLWORTHS W1157 but it matches your rules
console.log( replaceRegex( "GOOGLE*ADWS7924436927" ) );
console.log( replaceRegex( "COLES 0829" ) );
console.log( replaceRegex( "7-ELEVEN 2179" ) );
console.log( replaceRegex( "COLES EXPRESS 1896" ) );
&#13;
答案 1 :(得分:0)
您可以使用.split(/\ |\*/)[0]
分隔空格或*并返回第一份作品
var tests = ["MSFT *<E07004QY6W>",
"WOOLWORTHS W1157",
"GOOGLE*ADWS7924436927",
"COLES 0829",
"ROBLOX.COM 888-858-25",
"7-ELEVEN 2179",
"COLES EXPRESS 1896"
];
tests = tests.map(v => {
return v.split(/(\s+\w+\d+|\*\S+)/)[0]
})
console.log(tests)