Javascript 删除字符串中第四个斜杠“后的所有字符”/&引用;

Javascript 删除字符串中第四个斜杠“后的所有字符”/&引用;,javascript,regex,string,Javascript,Regex,String,我正在寻找一种从字符串中删除第四个斜杠(/),(以及其后的所有内容)的方法,该函数用于“输入文本区域”中的每一行列表 示例:如果我在输入文本区域中有一个“垂直”列表(一周中的几天) 当我单击按钮移除时,输出文本区域的结果为“垂直”,如下所示: Monday/February/8/2016 Tuesday/February/9/2016 Wednesday/February/10/2016 Thursday/February/11/2016 我的代码: function remove_list(

我正在寻找一种从字符串中删除第四个斜杠(/),(以及其后的所有内容)的方法,该函数用于“输入文本区域”中的每一行列表

示例:如果我在输入文本区域中有一个“垂直”列表(一周中的几天)

当我单击按钮移除时,输出文本区域的结果为“垂直”,如下所示:

Monday/February/8/2016
Tuesday/February/9/2016
Wednesday/February/10/2016
Thursday/February/11/2016
我的代码:

function remove_list() {
  var count = 0;
  var list = document.myForm.Input.value;
  list = list.replace(/^((?:[^ ]* ){3}[^ ]*) [/]*/gm, "$1");

  var listvalues = new Array();
  var newlist = new Array();

  listvalues = list.split(/[\s,]+/).join("");

  var hash = new Object();

  for (var i = 0; i < listvalues.length; i++) {
    if (hash[listvalues[i].toLowerCase()] != 0) {
      newlist = newlist.concat(listvalues[i]);
      hash[listvalues[i].toLowerCase()] = 1
    } else {
      count++;
    }
  }
  document.myForm.Output.value = newlist.join("");

}
函数删除列表(){
var计数=0;
var list=document.myForm.Input.value;
list=list.replace(/^((?:[^]*){3}[^]*)[/]*/gm,“$1”);
var listvalues=新数组();
var newlist=新数组();
listvalues=list.split(/[\s,]+/).join(“”);
var hash=新对象();
对于(var i=0;i
谢谢您的帮助。

您可以使用、和方法来执行类似的操作

var str=`星期一/二月/8/2016/08:05:07/GMT-0700(PDT)
2016年2月9日星期二09:07:07/GMT-0700(PDT)
2016年2月10日星期三/01:04:07/GMT-0700(PDT)
2016年2月11日星期四05:15:07/GMT-0700(PDT)`;
console.log(
//用换行符拆分字符串
str.split(“\n”)
//迭代数组
.地图(功能(五){
//生成在第4行之后删除内容的字符串/
返回v.split('/').slice(0,3).join('/');
//您可以使它变得更简单,如@Mureinik answer
//返回v.split('/',4.join('/');
//重新连接字符串元素
}).join(“\n”)

)
最简单的方法是根据
/
拆分字符串,并将返回元素的数量限制为四个,然后重新连接它们:

function firstFourFields(s) {
    return s.split('/', 4).join('/');
}

为什么你的正则表达式中有空格?是的,这个字符串#replace metod对我有用,但我有一个问题:*str.replace(/^(?:[^\/]*/){3}[^\/]*)\/.+$/mg,$1')**如果我的列表中有**-“**”:像这样:周二-二月九日-2016-09:07-GMT-0700(PDT)周三-二月十日-2016-01:04:07-GMT-0700(PDT)星期四-2月11日-201-05:15:07-GMT-0700(PDT)@MeritaAdemi:在这种情况下,预期的o/p是什么?@MeritaAdemi:regex需要更新
str.replace(/^((?:[^-]*\/){3}[^-]*-.+$/mg,$1')
@MeritaAdemi:只需一次更新
str replace((?:[^-]*-]*-{3}[^-]]*.+-/-.-.-/-.+$1'.-$mg)
非常感谢您,现在开始工作了。感谢您,百万分之一的时间。感谢stackoverflow
function firstFourFields(s) {
    return s.split('/', 4).join('/');
}