Если файл класса, который Вы хотите изучить, является открытым исходным кодом, Вы не должны декомпилировать его, но вместо этого присоединять исходные файлы непосредственно в Ваш IDE. тем путем можно просто просмотреть код некоторого класса библиотеки, как будто это было собственное
Вы почти у цели. Вы хотите:
http://www.w3schools.com/jsref/jsref_substr.asp
Итак, в вашем примере:
Var string = "hello is it me you're looking for";
s = string.substr(3);
Поскольку только предоставление начала (первый аргумент) берет от этого индекса до конец строки.
Обновите, как насчет чего-то вроде:
function cut(str, cutStart, cutEnd){
return str.substr(0,cutStart) + str.substr(cutEnd+1);
}
Использовать
функция
Возвращает подмножество строки между один индекс и другой, или через конец строки.
substring(indexA, [indexB]);
indexA
An integer between 0 and one less than the length of the string.
indexB (необязательно) Целое число от 0 до длины строки.
Подстрока извлекает символы от indexA до indexB, но не включая его. В частности:
* If indexA equals indexB, substring returns an empty string.
* If indexB is omitted, substring extracts characters to the end
of the string.
* If either argument is less than 0 or is NaN, it is treated as if
it were 0.
* If either argument is greater than stringName.length, it is treated as
if it were stringName.length.
Если indexA больше indexB, тогда подстрока действует так, как если бы два аргумента были поменяны местами; например, str.substring (1, 0) == str.substring (0, 1).
s = string.cut(5,7);
Я бы предпочел сделать это как отдельную функцию, но если вы действительно хотите иметь возможность вызывать ее непосредственно в строке из прототипа:
String.prototype.cut= function(i0, i1) {
return this.substring(0, i0)+this.substring(i1);
}
Вам нужно сделать что-то вроде следующего:
var s = "I am a string";
var sSubstring = s.substring(2); // sSubstring now equals "am a string".
У вас есть два варианта действий это:
Попробуйте следующее:
var str="hello is it me you're looking for";
document.write(str.substring(3)+"<br />");
Вы можете проверить эту ссылку
Как справочник для тех, кто ищет похожую функцию, у меня есть реализация String.prototype.bisect, которая разделяет строку на 3 части с использованием регулярного выражения / разделителя строки и возвращает части строки до, совпадение с разделителем и после. ....
/*
Splits a string 3-ways along delimiter.
Delimiter can be a regex or a string.
Returns an array with [before,delimiter,after]
*/
String.prototype.bisect = function( delimiter){
var i,m,l=1;
if(typeof delimiter == 'string') i = this.indexOf(delimiter);
if(delimiter.exec){
m = this.match(delimiter);
i = m.index;
l = m[0].length
}
if(!i) i = this.length/2;
var res=[],temp;
if(temp = this.substring(0,i)) res.push(temp);
if(temp = this.substr(i,l)) res.push(temp);
if(temp = this.substring(i+l)) res.push(temp);
if(res.length == 3) return res;
return null;
};
/* though one could achieve similar and more optimal results for above with: */
"my string to split and get the before after splitting on and once".split(/and(.+)/,2)
// outputs => ["my string to split ", " get the before after splitting on and once"]
Как указано здесь: https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String/split
Если разделитель - это регулярное выражение, содержащее захватывающие скобки, тогда каждый раз, когда сопоставляется разделитель, результаты (включая любые неопределенные результаты) скобок захвата вставляются в выходной массив. Однако не все браузеры поддерживают эту возможность.