を強調する私はStringUtils.stripEnd
を使用して文字列のオフに末尾文字を削除しようとしている、と私は"FOO_FOO"
から"_FOO"
を除去しようとした場合、これは空の文字列を返します気づいたんです。例えば、期間でJava StringUtils.stripEnd、ハイフンまたは
Stripping '.BAR' from FOO.BAR --> FOO
Stripping '.BAR' from BAR.BAR -->
Stripping '_BAR' from FOO_BAR --> FOO
Stripping '_BAR' from BAR_BAR -->
Stripping '-BAR' from FOO-BAR --> FOO
Stripping '-BAR' from BAR-BAR -->
を出力
import org.apache.commons.lang3.StringUtils;
public class StripTest {
public static void printStripped(String s1, String suffix){
String result = StringUtils.stripEnd(s1, suffix);
System.out.println(String.format("Stripping '%s' from %s --> %s", suffix, s1, result));
}
public static void main(String[] args) {
printStripped("FOO.BAR", ".BAR");
printStripped("BAR.BAR", ".BAR");
printStripped("FOO_BAR", "_BAR");
printStripped("BAR_BAR", "_BAR");
printStripped("FOO-BAR", "-BAR");
printStripped("BAR-BAR", "-BAR");
}
}
は、誰かがこの動作を説明できますか?この場合のexamples from docsは見られませんでした。 StringUtils Javadocの中に存在ドキュメントと例でのJava 7
文書では、「任意の**文字セット**を削除します」と表示されます。文字列ではありません。したがって、 '' .BAR ''を取り除くと、文字列の最後から ''すべて ''、 '' B'、 'A'と' R'文字を取り除くと言っています。 – khelwood
@khelwoodそのコメントを回答してください:) –
docの例を見てください。 'StringUtils.stripEnd(" 120.00 "、" .0 ")=" 12 "'代わりに、あなたは 'removeEnd(...)' 'ソース文字列の終わりにある場合にのみ部分文字列を削除し、そうでなければソース文字列を返します。' – Brendan