[英]Regex to get the string between a character and a whitespace and excluding the first delimiter
[英]Get string between first space character and '=' character
基本上,我想創建一個Javascript函數來向我返回第一個空格字符和'='字符之間的字符串。
例如:
ABC123 Mercedes Benz = 300,000
該功能應返回梅賽德斯·奔馳。 有沒有辦法做到這一點?
您應該使用正則表達式 :
var myStr = "ABC123 Mercedes Benz = 300,000"
var targetStr = myStr.replace(/^[^\s]*\s(.*)=.*$/, "$1")
replace
方法返回一個新字符串,因此myStr
仍保留其原始值,但是targetStr
具有匹配的部分。
var myStr = "ABC123 Mercedes Benz = 300,000"
myStr = / [^=]+/.exec(myStr);
alert(myStr);
您應該真正發表自己的嘗試,而不是期望SO為您做所有事情。 這應該適用於這種特定情況;
var get_second_word = function (string){
var p1 = string.indexOf(" "),//get position of first space
p2 = string.indexOf("="),//get position of =
len = p2 - p1,// length of chunk = pos of '=' - pos of first space
chunk = string.substr(p1, len); //get the substring
return chunk;
},
string = "ABC123 Mercedes Benz = 300,000",
word = get_second_word(string);
document.write(word);// prints 'Mercedes Benz'
也許不是最好的方法,但是
function getSmth(str) {
var i = str.indexOf(' ') + 1;
var j = str.indexOf('=');
return str.substr(i, j - i - 1);
}
嘗試這個:
function getPartial(str)
{
var partial = '';
var io = str.indexOf(' ');
if (io > 0)
{
partial = str.substring(io);
var io2 = partial.indexOf('=');
if (io2 > 0)
{
partial = partial.substring(0, io2);
}
}
return partial;
}
var str = 'ABC123 Mercedes Benz = 300,000';
var partial = getPartial(str);
alert(partial);
var s = "ABC123 Mercedes Benz = 300,000";
s = s.substring(s.indexOf(" ")+1);
var result = s.substring(0, s.indexOf("=")-1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.