Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅返回JavaScript字符串中最后一个下划线之前的文本_Javascript - Fatal编程技术网

仅返回JavaScript字符串中最后一个下划线之前的文本

仅返回JavaScript字符串中最后一个下划线之前的文本,javascript,Javascript,如果我有这样一个字符串: var str = 'Arthropoda_Arachnida_Zodariidae_Habronestes_hunti'; 如何仅获取最后一个下划线之前字符串的第一部分 在这种情况下,我只想要“节肢动物\蛛形纲\ Zodariidae \ Habronestes”使用拆分方法是可能的: var s2= 'Arthropoda_Arachnida_Zodariidae_Habronestes_hunti'; var s1= s2.substr(0, s2.lastIn

如果我有这样一个字符串:

var str = 'Arthropoda_Arachnida_Zodariidae_Habronestes_hunti';
如何仅获取最后一个下划线之前字符串的第一部分


在这种情况下,我只想要
“节肢动物\蛛形纲\ Zodariidae \ Habronestes”

使用
拆分方法是可能的:

var s2= 'Arthropoda_Arachnida_Zodariidae_Habronestes_hunti';
var s1= s2.substr(0, s2.lastIndexOf('_')); 
或:

切片和lastIndexOf:

str.slice(0, str.lastIndexOf('_'));
组合,应该给你你想要的

var str = "Arthropoda_Arachnida_Zodariidae_Habronestes_hunti";
var start = str.substr(0, str.lastIndexof("_"));
// -> "Arthropoda_Arachnida_Zodariidae_Habronestes"
也试试这个

var str = "Arthropoda_Arachnida_Zodariidae_Habronestes_hunti";
alert(str.substring(str.lastIndexOf("_")+1)) //to get Last word

alert(str.substring(0,str.lastIndexOf("_")))  //to get first part 

以26秒的优势击败我!:你是赢家!:D可以自由投票,因为我不想在-1;)我会在8分钟内接受这个答案沙詹姆斯。这总是发生在我身上。输入一个长答案,有人在我之前已经回答了。:)这不包括下划线前的最后一个字符(“s”),不知道您是如何得到该Cos的。它在浏览器和节点中都适用。您可以使用
RegExp
“节肢动物”\u Arachnida\u Zodariidae\u Habronestes\u hunti”。替换(/(.*)\u.*$/g,“$1”)
var str = "Arthropoda_Arachnida_Zodariidae_Habronestes_hunti";
alert(str.substring(str.lastIndexOf("_")+1)) //to get Last word

alert(str.substring(0,str.lastIndexOf("_")))  //to get first part