从其他字符串中剥离字符串,如果它以它使用 JavaScript 开头

Strip string from other string if it starts with it using JavaScript

本文关键字:字符串 JavaScript 开头 如果 其他 剥离      更新时间:2023-09-26

使用 JavaScript,如果另一个字符串以第一个字符串开头,如何从其他字符串中剥离字符串?

var matcher='Hello';
var s1='hello everyone';
console.log(someFunction(s1,matcher);
//Should return ' everyone', and should be case insensitive
var s2='xhello everyone';
console.log(someFunction(s2,matcher);
//Should return nothing (either NULL or FALSE or "" would be fine) since s2 doesn't start with 'Hello'

三个答案的演示:https://jsfiddle.net/dynvgn1k/

无需使用正则表达式只需使用:

s1.toLowerCase().indexOf(matcher.toLowerCase()) === 0 && s1.substr(matcher.length)
//=>  everyone
matcher='hi'
s1.toLowerCase().indexOf(matcher.toLowerCase()) === 0 && s1.substr(matcher.length)
//=> false

使用toLowerCase将使其忽略大小写比较。 indexOf返回搜索字符串在主题和位置中的位置0表示在开始时找到搜索词。

一个简单的

正则表达式就可以了

function someFunction(str,matcher) {
    var regex = new RegExp('^' + matcher, 'i');
    return str.replace(regex, '');
}

你可以这样做

var matcher='Hello';
var s1='hello everyone';
s=s1.split(" ");
(s[0].toUpperCase() ===matcher.toUpperCase() )?console.log(s[1]):console.log("nothing");