如何删除指定字符后的所有内容
问题描述:
我想删除-
后的所有内容。如何删除指定字符后的所有内容
这里是我的样品string
:sahasraadvisoryagency - a service agency
我的预期输出:sahasraadvisoryagency
我的测试用例:
sahasraadvisoryagency - a service agency
输出:sahasraadvisoryagency
chai chai - a tea service
输出:chai chai
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>
答
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()
。