在某些字母前选择字符串

时间:2016-04-22 23:34:29

标签: javascript jquery

如果我有

var x = "3558&Hello world!&538345";

现在我可以使用后选择:

var y = x.split("&");

但我想知道我可以在一些char之前选择它吗?

我需要var z = 3558 ... 我不想选择从0到4的字母和数字,因为我不知道数字的长度是什么....所以有什么方法可以说选择所有之前& ?

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]
}

您还可以编写forwhile循环来为结果添加字符,除非它们遇到匹配的delimiterStr,但与这三个相比它们会变得混乱。