java - manipulation - substring c#



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

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

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

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

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

https://src-bin.com

لدي سلسلة:

/abc/def/ghfj.doc

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

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


Answer #1

تطبيق بسيط للغاية مع 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];

Answer #2

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

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

من doc :

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


Answer #3

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

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

Answer #4

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

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

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


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




substring