* removed intersect() from ExpressionFormat.global.js because it is not as nifty as i thought
This commit is contained in:
parent
b109e54db4
commit
134eba228b
|
@ -4,9 +4,6 @@ importPackage(java.lang);
|
||||||
// Collection, Scanner, Random, UUID, etc.
|
// Collection, Scanner, Random, UUID, etc.
|
||||||
importPackage(java.util);
|
importPackage(java.util);
|
||||||
|
|
||||||
// SeriesNameMatcher
|
|
||||||
importClass(net.sourceforge.filebot.similarity.SeriesNameMatcher);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convenience methods for String.toLowerCase() and String.toUpperCase().
|
* Convenience methods for String.toLowerCase() and String.toUpperCase().
|
||||||
|
@ -44,6 +41,34 @@ String.prototype.space = function(replacement) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Upper-case all initials.
|
||||||
|
*
|
||||||
|
* e.g. "The Day a new Demon was born" -> "The Day A New Demon Was Born"
|
||||||
|
*/
|
||||||
|
String.prototype.upperInitial = function() {
|
||||||
|
return this.replace(/\b[a-z]/g, function(letter) { return letter.toUpperCase() });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lower-case all letters that are not initials.
|
||||||
|
*
|
||||||
|
* e.g. "Gundam SEED" -> "Gundam Seed"
|
||||||
|
*/
|
||||||
|
String.prototype.lowerTrail = function() {
|
||||||
|
return this.replace(/\b([a-z])([a-z]+)\b/gi, function(match, initial, trail) { return initial + trail.toLowerCase() });
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove leading and trailing whitespace.
|
||||||
|
*/
|
||||||
|
String.prototype.trim = function() {
|
||||||
|
return this.replace(/^\s+|\s+$/g, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return substring before the given delimiter.
|
* Return substring before the given delimiter.
|
||||||
*/
|
*/
|
||||||
|
@ -76,14 +101,6 @@ String.prototype.after = function(delimiter) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove leading and trailing whitespace.
|
|
||||||
*/
|
|
||||||
String.prototype.trim = function() {
|
|
||||||
return this.replace(/^\s+|\s+$/g, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replace trailing parenthesis including any leading whitespace.
|
* Replace trailing parenthesis including any leading whitespace.
|
||||||
*
|
*
|
||||||
|
@ -109,6 +126,7 @@ String.prototype.replacePart = function (replacement) {
|
||||||
|
|
||||||
// handle '(n)', '(Part n)' and ': Part n' like syntax
|
// handle '(n)', '(Part n)' and ': Part n' like syntax
|
||||||
var pattern = [/\s*[(](\w+)[)]$/i, /\W*Part (\w+)\W*$/i];
|
var pattern = [/\s*[(](\w+)[)]$/i, /\W*Part (\w+)\W*$/i];
|
||||||
|
|
||||||
for (var i = 0; i < pattern.length; i++) {
|
for (var i = 0; i < pattern.length; i++) {
|
||||||
if (pattern[i].test(this)) {
|
if (pattern[i].test(this)) {
|
||||||
return this.replace(pattern[i], r);
|
return this.replace(pattern[i], r);
|
||||||
|
@ -118,39 +136,3 @@ String.prototype.replacePart = function (replacement) {
|
||||||
// no pattern matches, nothing to replace
|
// no pattern matches, nothing to replace
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Upper-case all initials.
|
|
||||||
*
|
|
||||||
* e.g. "The Day a new Demon was born" -> "The Day A New Demon Was Born"
|
|
||||||
*/
|
|
||||||
String.prototype.upperInitial = function() {
|
|
||||||
return this.replace(/\b[a-z]/g, function(letter) { return letter.toUpperCase() });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Lower-case all letters that are not initials.
|
|
||||||
*
|
|
||||||
* e.g. "Gundam SEED" -> "Gundam Seed"
|
|
||||||
*/
|
|
||||||
String.prototype.lowerTrail = function() {
|
|
||||||
return this.replace(/\b([a-z])([a-z]+)\b/gi, function(match, initial, trail) { return initial + trail.toLowerCase() });
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return first common word sequence.
|
|
||||||
*
|
|
||||||
* e.g. "Kidou Senshi Gundam Seed" intersect "Mobile Suite Gundam Seed") -> "Gundam Seed"
|
|
||||||
*/
|
|
||||||
String.prototype.intersect = function (other) {
|
|
||||||
var matcher = new SeriesNameMatcher();
|
|
||||||
|
|
||||||
// find common word sequence
|
|
||||||
var common = matcher.matchByFirstCommonWordSequence(this, other);
|
|
||||||
|
|
||||||
// return common word sequence, if there is one
|
|
||||||
return common != null ? common : this;
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue