如何删除指定字符后的所有内容

问题描述:

我想删除-后的所有内容。如何删除指定字符后的所有内容

这里是我的样品stringsahasraadvisoryagency - a service agency

我的预期输出:sahasraadvisoryagency

我的测试用例:

  1. sahasraadvisoryagency - a service agency输出:sahasraadvisoryagency

  2. chai chai - a tea service输出:chai chai

  3. paani wala + neerwal - a water service输出:paani wala + neerwal

我试图像这样

var str = 'sahasraadvisoryagency - a service agency'; 
 

 
var newstr = str.replace(/\-/g,''); 
 

 
console.log(newstr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

使用String#split方法。

console.log(
 
    'sahasraadvisoryagency - a service agency'.split('-')[0] 
 
)

var s = 'sahasraadvisoryagency - a service agency'; 
 
var n = s.indexOf('-'); 
 
    s = s.substring(0, n != -1 ? n : s.length); 
 
    document.write(s);

请您检查上面的代码?

很简单:

var str = 'sahasraadvisoryagency - a service agency'; 
 
var newstr = str.substring(0, str.indexOf("-")); 
 
console.log(newstr);

您可以\-后使用正则表达式通配符.*零个或多个任意字符。这将剥去 - 以及之后的任何东西。

var str = 'sahasraadvisoryagency - a service agency'; 
 

 
var newstr = str.replace(/\-.*/g,''); 
 

 
console.log(newstr);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

使用string.substr()通过传递你想要的指数来获得原始字符串的一部分。

你的情况:

str.substr(0, str.indexOf('-'))

您可能需要检查是否 ' - ' 存在摆在首位。如果你不想在最后的空间,也可能需要trim()