如果你查看这个jsfiddle例子,来自于这个问题,
var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);
如何调整此代码以返回 :
之前的所有字符?
类似这样:var str_sub = str.substr(0, str.lastIndexOf(":"));
但是这个方法不起作用。
如果你查看这个jsfiddle例子,来自于这个问题,
var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);
如何调整此代码以返回 :
之前的所有字符?
类似这样:var str_sub = str.substr(0, str.lastIndexOf(":"));
但是这个方法不起作用。
str.substring(0, str.indexOf(":"));
其中'str'表示包含你字符串的变量。
Javascript
var input_string = document.getElementById('my-input').innerText;
var output_element = document.getElementById('my-output');
var left_text = input_string.substring(0, input_string.indexOf(":"));
output_element.innerText = left_text;
Html
<p>
<h5>Input:</h5>
<strong id="my-input">Left Text:Right Text</strong>
<h5>Output:</h5>
<strong id="my-output">XXX</strong>
</p>
CSS
body { font-family: Calibri, sans-serif; color:#555; }
h5 { margin-bottom: 0.8em; }
strong {
width:90%;
padding: 0.5em 1em;
background-color: cyan;
}
#my-output { background-color: gold; }
right_text
可能会让人困惑,因为你实际上得到的是“左文本”,不是吗...? - benomatis另一种方法是通过 ":" 将字符串拆分,然后弹出末尾。
var newString = string.split(":").pop();
请注意 subString 方法的第一个参数是基于 0 的,而第二个参数是基于 1 的。
示例:
String str= "0123456";
String sbstr= str.substring(0,5);
输出将是sbstr= 01234
而不是sbstr = 012345
一般而言,返回子字符串后的字符串的函数为
function getStringAfterSubstring(parentString, substring) {
return parentString.substring(parentString.indexOf(substring) + substring.length)
}
function getStringBeforeSubstring(parentString, substring) {
return parentString.substring(0, parentString.indexOf(substring))
}
console.log(getStringAfterSubstring('abcxyz123uvw', '123'))
console.log(getStringBeforeSubstring('abcxyz123uvw', '123'))
substring() 方法返回字符串从起始索引到结束索引之间的部分,或者到字符串的结尾。
// substring(indexStart, indexEnd); // syntax
// in your case
str = str.substring(0, str.indexOf(":"));
str = str.substring(str.indexOf(":") + 1);
,这似乎是有效的,警报确实显示了“Lorem ipsum sit amet”。这不是您想要的吗? - NopeAbc
而不是Lorem ipsum sit amet
。谢谢。 - Smudger