Javascript 我如何得到字符串的某个部分?

Javascript 我如何得到字符串的某个部分?,javascript,jquery,Javascript,Jquery,下面是一个示例字符串: survey_questions_attributes_1317784471568_answers_attributes 我想从字符串中取出1317784471568 但这一部分也可以是文本。例如,我可能还需要从字符串中的同一位置获取名为new_questions的字符串 这里的常量是,survey\u questions\u attributes\u将始终位于我想要的块之前,而\u answers\u attributes将始终位于它之后 var str = "sur

下面是一个示例字符串:

survey_questions_attributes_1317784471568_answers_attributes
我想从字符串中取出
1317784471568

但这一部分也可以是文本。例如,我可能还需要从字符串中的同一位置获取名为
new_questions
的字符串

这里的常量是,
survey\u questions\u attributes\u
将始终位于我想要的块之前,而
\u answers\u attributes
将始终位于它之后

var str = "survey_questions_attributes_1317784471568_answers_attributes";

var newStr = str.replace("survey_questions_attributes_", "");
newStr = newStr.replace("_answers_attributes", "");
我能想到的最简单的方法是不用正则表达式之类的

我能想到的最简单的方法是不使用正则表达式或类似的方法。

试试-

var text = "survey_questions_attributes_1317784471568_answers_attributes"
      .replace("survey_questions_attributes_","")
      .replace("_answers_attributes","")
试试-

使用子字符串():

使用子字符串():


这要求物体的长度是恒定的,这可能是一个错误的假设。原始问题指出围绕数字的字符串是“恒定的”。这要求物体的长度是恒定的,这可能是一个不正确的假设。原始问题表明围绕数字的字符串是“常量”。
mystring = "survey_questions_attributes_1317784471568_answers_attributes"
newstring = mystring.substring(28, 41)
id = str.match(/_questions_attributes_(.+)_answers_attributes/)[1];