Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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,我用破折号分隔字符串,如: x#-ls foobar起飞- 如何使用javascript删除takemeoff-,其中takemeoff-可以是以破折号结尾的任意数量的字符?如果您有字符串str,则可以执行以下操作: str = str.substr(0, str.lastIndexOf("-", str.length - 2)); 基本正则表达式表示 [^-]+ <-- Match any characters that is not a dash - <-- Ma

我用破折号分隔字符串,如:

x#-ls foobar起飞-

如何使用javascript删除
takemeoff-
,其中
takemeoff-
可以是以破折号结尾的任意数量的字符?

如果您有字符串
str
,则可以执行以下操作:

str = str.substr(0, str.lastIndexOf("-", str.length - 2));
基本正则表达式表示

[^-]+  <-- Match any characters that is not a dash
-      <-- Match a dash character
$      <-- Match the end of a string
[^-]+使用
substr()
lastIndexOf()

产出:

x#ls foobar

[^-]+  <-- Match any characters that is not a dash
-      <-- Match a dash character
$      <-- Match the end of a string
var myStr = "x#-ls-foobar-takemeoff-";

myStr = myStr.substr(0, myStr.length-1); // remove the trailing -

var lastDash = myStr.lastIndexOf('-'); // find the last -
myStr = myStr.substr(0, lastDash);

alert(myStr);