如果我有
var x = "3558&Hello world!&538345";
现在我可以使用后选择:
var y = x.split("&");
但我想知道我可以在一些char之前选择它吗?
我需要var z = 3558
...
我不想选择从0到4的字母和数字,因为我不知道数字的长度是什么....所以有什么方法可以说选择所有之前& ?
答案 0 :(得分:1)
您正在使用拆分功能,因此只需获取结果数组的第0位的值,这将是直到第一个和第一个的子字符串。
var y = x.split ("&")[0];
答案 1 :(得分:0)
试试这个:
body {
font-family:sans-serif;
color:red;
}
.tab {
position:relative;
}
.tab_title {
text-align:center;
line-height:30px;
width:80px;
background:orange;
padding:5px 0;
}
.tab_content {
background:yellow;
display:none;
position:absolute;
left:80px;
right:0;
top:0;
padding:5px 20px;
}
.tab:hover .tab_content {
display:block;
}
.tab:hover .tab_title {
background:yellow;
}
答案 2 :(得分:0)
您可以使用String.prototype.replace()
与RegExp
/&.+/
匹配"&"
和后续字符,将匹配替换为空字符串
var z = "3558&Hello world!&538345".replace(/&.+/, "")
答案 3 :(得分:0)
很多选择! :d
function bySplit (textStr, delimiterStr) {
return textStr.split(delimiterStr)[0]
}
function byRegexReplace (textStr, delimiterStr) {
return textStr.replace(new RegExp(delimiterStr+'.*'), '')
}
function byRegexExec (textStr, delimiterStr) {
return (new RegExp('^(.*)'+delimiterStr)).exec(textStr)[1]
}
您还可以编写for
或while
循环来为结果添加字符,除非它们遇到匹配的delimiterStr,但与这三个相比它们会变得混乱。