私はJavaのcommons-langの StringUtils のようなjsライブラリを探しています。これには文字列を操作するための多くの一般的なメソッドが含まれています。
といった:
配列/日付などの他のメソッドが含まれているとよいでしょう。
さあ行こう:
IsEmpty
str.length === 0
IsBlank
str.trim().length === 0
トリム
str.trim()
等しい
str1 === str2
startsWith
str.indexOf( str2 ) === 0
IndexOf
str.indexOf( str2 )
LastIndexOf
str.lastIndexOf( str2 )
含む
str.indexOf( str2 ) !== -1
部分文字列
str.substring( start, end )
左
str.slice( 0, len )
中
str.substr( i, len )
右
str.slice( -len, str.length )
など...(続行する必要がありますか?)
私は常にJavaバックエンドとJavaScriptフロントエンドを切り替えているので、StringUtilsメソッドを盲目的に使用し、それについて考えさえしないことは非常に理にかなっています。誰かがApacheStringUtilsメソッドのすべてをJavaScriptに移植するのに時間がかかるでしょう;-)
これが私の貢献です:
String.prototype.startsWith = function(prefix) {
return this.indexOf(prefix,0) === 0;
};
String.prototype.endsWith = function(suffix) {
return this.indexOf(suffix, this.length - suffix.length) !== -1;
};
String.prototype.substringBefore = function(str) {
var idx = this.indexOf(str);
if( idx!==-1 ) {
return this.substr(0,idx);
}
return this;
};
String.prototype.substringBeforeLast = function(str) {
var idx = this.lastIndexOf(str);
if( idx!==-1 ) {
return this.substr(0,idx);
}
return this;
};
String.prototype.substringAfter = function(str) {
var idx = this.indexOf(str);
if( idx!==-1 ) {
return this.substr(idx+str.length);
}
return this;
};
String.prototype.substringAfterLast = function(str) {
var idx = this.lastIndexOf(str);
if( idx!==-1 ) {
return this.substr(idx+str.length);
}
return this;
};
// left pad with spaces (or the specified character) to this length
String.prototype.leftPad = function (length,c) {
c = c || " ";
if( length <= this.length ) return this;
return new Array(length-this.length+1).join(c) + this;
};
// right pad with spaces (or the specified character) to this length
String.prototype.rightPad = function (length,c) {
c = c || " ";
if( length <= this.length ) return this;
return this + new Array(length-this.length+1).join(c);
};