Giriş
Şu satırı dahil
ederiz.
import org.apache.commons.lang3.StringUtils;
whitespace deyince boşluk karakteri (
space) dışında
tab +
newline gibi karakterleri de dahil etmek gerekir.
String içinde prefix arama metodlarından birisi de
Z-function.
abbreviate metodu
Şöyle
yaparız.
StringUtils.abbreviate("abcdefg", 6) = "abc..."
StringUtils.abbreviate("abcdefg", 7) = "abcdefg"
StringUtils.abbreviate("abcdefg", 8) = "abcdefg"
StringUtils.abbreviate("abcdefg", 4) = "a..."
appendIfMissing metodu
String'in sonunun belirtilen string ile bitmesini garanti eder.
Örnek ver
capitalize metodu
Açıklaması
şöyle.
Capitalizes a String changing the first character to title case as per Character.toTitleCase(int). No other characters are changed.
Örnek
Şöyle
yaparız.
String propertyName = "name";
String methodName = "set" + StringUtils.capitalize(propertyName);
chop metodu
En son karakteri
siler.
contains metodu
Örnek ver
countMatches metodu - CharSequence + Char Örnek
String str = ...;
char character = ...
int count = StringUtils.countMatches(str,character);
countMatches metodu - CharSequence + CharSequence + Örnek
Nokta karakterini saymak için şöyle
yaparız
int count = StringUtils.countMatches("a.b.c.d", ".");
deleteWhitespace metodu
Girdinin sol, sağ ve ortasındaki yani tüm whitespace karakterlerini siler. Şöyle
yaparız
str = StringUtils.deleteWhitespace(str);
difference metodu
Metodun içi
şöyle.
public static String difference(String str1, String str2) {
if (str1 == null) {
return str2;
}
if (str2 == null) {
return str1;
}
int at = indexOfDifference(str1, str2);
if (at == INDEX_NOT_FOUND) {
return EMPTY;
}
return str2.substring(at);
}
Örnek
Şöyle
yaparız.
StringUtils.difference(null, null) = null
StringUtils.difference("", "") = ""
StringUtils.difference("", "abc") = "abc"
StringUtils.difference("abc", "") = ""
StringUtils.difference("abc", "abc") = ""
StringUtils.difference("ab", "abxyz") = "xyz"
StringUtils.difference("abcde", "abxyz") = "xyz"
StringUtils.difference("abcde", "xyz") = "xyz"
endsWithAny metodu
Şöyle
yaparız.
String fileName = "abc.txt";
String[] extensions = {".txt", ".doc", ".pdf"};
System.out.println(StringUtils.endsWithAny(fileName, extensions));
equalsIgnoreCase metodu
Örnek ver
getCommonPrefix metodu
İki string arasındaki ortak başlangıç string'ini döndürür. Örnek ver
getLevenshteinDistance metodu
Şöyle
yaparız.
System.err.println(StringUtils.getLevenshteinDistance("foobar", "bar"));
indexOfAnyBut metodu
İkinci parametrede olmayan ilk karakterin konumunu döner.
indexOfDifference metodu
Metodun içi
şöyle.
public static int indexOfDifference(CharSequence cs1, CharSequence cs2) {
if (cs1 == cs2) {
return INDEX_NOT_FOUND;
}
if (cs1 == null || cs2 == null) {
return 0;
}
int i;
for (i = 0; i < cs1.length() && i < cs2.length(); ++i) {
if (cs1.charAt(i) != cs2.charAt(i)) {
break;
}
}
if (i < cs2.length() || i < cs1.length()) {
return i;
}
return INDEX_NOT_FOUND;
}
isAllBlank metodu
Şöyle
yaparız.
if(!StringUtils.isAllBlank(Constant.A,Constant.B,.......)){
return true;
}
isBlank metodu
Girdi
null veya tamamen
white space ise true döner.
Örnek
String str = " ";
boolean res1 = StringUtils.isNotBlank(str);
boolean res2 = StringUtils.isBlank(str);
isEmpty metoduÖrnek
String str = " ";
boolean res1 = StringUtils.isNotEmpty(str);
boolean res2 = StringUtils.isEmpty(str);
Örnek
Şöyle
yaparız.
if(StringUtils.isEmpty(...)){
...
}
isNotBlank metodu
Şöyle
yaparız.
return StringUtils.isNotBlank(Constant.A)
isNumeric metodu
Şöyle yaparız
private java.util.Optional<Integer> parseIntegerProperty(String property) {
return Optional.ofNullable(property)
.filter(StringUtils::isNumeric)
.map(Integer::valueOf);
}
// ...
java.util.Optional<Integer> javaOptional = parseIntegerProperty("123")
someLegacyAPI(com.google.common.base.Optional.fromJavaUtil(javaOptional);
join metodu - Iterable + separator
Bu metod Java 8 ile gelen String.join() metodundan halen daha iyi çünkü Java metodu sadece
Iterable<? CharSequence> kabul ediliyor. Yani String of List , String or Array gibi bir şey istiyor. Bu metod ise Object listesi verirsek nesnenin toString() metodunu çağırıyor.
Örnek
Şöyle
yaparız.
String[] s = new String[] {"a", "b", "c"};
String joined = StringUtils.join(s, ","); // "a,b,c"
Örnek
Şöyle
yaparız.
org.apache.commons.lang.StringUtils.join(list, conjunction);
left metodu
Soldaki belirtilen sayıdaki karakteri döner. Daha az karakter varsa string'i aynen döner. String null ise null döner. Açıklaması
şöyle.
If len characters are not available, or the String is null, the String will be returned without an exception. An empty String is returned if len is negative.
StringUtils.left(null, ) = null
StringUtils.left(, -ve) = ""
StringUtils.left("", *) = ""
StringUtils.left("abc", 0) = ""
StringUtils.left("abc", 2) = "ab"
StringUtils.left("abc", 4) = "abc"
Örnek
Şöyle
yaparız.
String upToNCharacters = StringUtils.left(s, n);
leftPad metoduBu metodu kendimiz yazsaydık şöyle
yapardıkstatic String padLeftZeros(String inputString, int length) {
if (inputString.length() >= length) {
return inputString;
}
StringBuilder sb = new StringBuilder();
while (sb.length() < length - inputString.length()) {
sb.append('0');
}
sb.append(inputString);
return sb.toString();
}
n tane sıfır ile dolu bir string elde etmek için Java 11 ile şöyle
yaparızString paddingZeros = "0".repeat(length - inputString.length());
normalizeSpace metodu
Girdinin sol ve sağındaki whitespace karakterleri siler. Ayrıca kelimeler arasındaki whitespace karakterleri 1 tane olacak hale getirir. Yani girdiyi düzgün bir cümle haline getirir. Şöyle
yaparız.
String str = " Text with multiple spaces ";
str = org.apache.commons.lang3.StringUtils.normalizeSpace(str);
// str = "Text with multiple spaces"
removeEnd metodu
Şöyle
yaparız.
// path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf.null"
StringUtils.removeEnd(path, ".null");
// path = "http://cdn.gs.com/new/downloads/Q22010MVR_PressRelease.pdf"
repeat metodu
Şöyle
yaparız.
String str = "abc";
String repeated = StringUtils.repeat(str, 3);
repeated.equals("abcabcabc");
replace metodu
Şöyle
yaparız.
cleantext = StringUtils.replace(cleantext, " ", " ");
reverse metodu
Örnek ver
right metodu
Sağdaki belirtilen sayıdaki karakteri döner.
rightPad metodu
Örnek ver
splitByCharacterTypeCamelCase metodu
Bazı string'leri biraz dha okunaklı hale getimek için kullanılır.
Örnek
Şöyle
yaparız.
StringUtils.splitByCharacterTypeCamelCase("yourCamelCaseText")
Örnek
Şöyle
yaparız.
StringUtils.join(
StringUtils.splitByCharacterTypeCamelCase("SentenceWithMultipleWords"),
' '
);
substring metodu
Şöyle
yaparız.
StringUtils.substring(null, *, *) = null
StringUtils.substring("", * , *) = "";
StringUtils.substring("abc", 0, 2) = "ab"
StringUtils.substring("abc", 2, 0) = ""
StringUtils.substring("abc", 2, 4) = "c"
StringUtils.substring("abc", 4, 6) = ""
StringUtils.substring("abc", 2, 2) = ""
StringUtils.substring("abc", -2, -1) = "b"
StringUtils.substring("abc", -4, 2) = "ab"
subStringAfter metodu
Belirtilen ayracı bulamazsa "" (boş string) döndürür. Bulursa ayraçtan sonra gelen kısmı döndürür. Aryaç son karakter ise yien "" (boş string) döndürür.
subStringAfterLast metodu
subStringAfter() gibidir. Aynı ayraçtan birden fazla olma ihitmali varsa kullanılır. Son ayracı arar.
startsWith metodu
Şöyle
yaparız.
StringUtils.startsWith("abcdef", "abc");
stripEnd metodu
StringUtils strip metodları yazısına taşıdım.
stripStart metodu