java - write - substring شرح




Java: الحصول على سلسلة فرعية من سلسلة تبدأ بعد حرف معين (6)

أعتقد أنه سيكون أفضل إذا استخدمنا مباشرة وظيفة الانقسام

String toSplit = "/abc/def/ghfj.doc";

String result[] = toSplit.split("/");

String returnValue = result[result.length - 1]; //equals "ghfj.doc"

لدي سلسلة:

/abc/def/ghfj.doc

أود استخراج ghfj.doc من هذا ، أي السلسلة الفرعية بعد آخر / ، أو أول / من اليمين.

هل يمكن لشخص ما تقديم بعض المساعدة؟


تطبيق بسيط للغاية مع String.split() :

String path = "/abc/def/ghfj.doc";
// Split path into segments
String segments[] = path.split("/");
// Grab the last segment
String document = segments[segments.length - 1];

في Kotlin يمكنك استخدام substringAfterLast ، وتحديد محدد.

val string = "/abc/def/ghfj.doc"
val result = url.substringAfterLast("/")
println(result)
// It will show ghfj.doc

من doc :

إرجاع سلسلة فرعية بعد آخر ظهور محدد. في حالة عدم احتواء السلسلة على المحدد ، يتم إرجاع المفقود DelimiterValue الذي يكون افتراضية للسلسلة الأصلية.


ماذا جربتي انه بسيط جدا:

String s = "/abc/def/ghfj.doc";
s.substring(s.lastIndexOf("/") + 1)

يمكنك استخدام أباتشي المشاعات:

لسلسلة فرعية بعد آخر مرة استخدم this الطريقة.

ولسلسلة فرعية بعد أول طريقة تعادل حداثة here .


    String example = "/abc/def/ghfj.doc";
    System.out.println(example.substring(example.lastIndexOf("/") + 1));




substring