मैं स्ट्रिंग निम्नलिखित है में दो विभाजक के बीच-स्ट्रिंग हो रही है:एक मनमाना स्थिति
string source = "Test/Company/Business/Department/Logs.tvs/v1";
/
चरित्र स्ट्रिंग में विभिन्न तत्वों के बीच विभाजक है। मुझे स्ट्रिंग के अंतिम दो तत्व प्राप्त करने की आवश्यकता है। मेरे पास इस उद्देश्य के लिए निम्नलिखित कोड है। यह ठीक काम करता है। क्या इसके लिए कोई तेज/सरल कोड है?
कोड
static void Main()
{
string component = String.Empty;
string version = String.Empty;
string source = "Test/Company/Business/Department/Logs.tvs/v1";
if (!String.IsNullOrEmpty(source))
{
String[] partsOfSource = source.Split('/');
if (partsOfSource != null)
{
if (partsOfSource.Length > 2)
{
component = partsOfSource[partsOfSource.Length - 2];
}
if (partsOfSource.Length > 1)
{
version = partsOfSource[partsOfSource.Length - 1];
}
}
}
Console.WriteLine(component);
Console.WriteLine(version);
Console.Read();
}
यह एक शर्म की बात है आप कर सकते हैं ' इस तरह के मामलों में रेगेक्स इंजन मैच "से-द-दाएं" बनाते हैं। – Rawling
@ राउलिंग: सहमत। मुझे लगता है कि आप पहले स्ट्रिंग को उलट सकते हैं, लेकिन शायद यह भी कम कुशल है। असल में, मुझे आश्चर्य है कि क्या किसी रेगएक्स इंजन के लिए उस तरह के अनुकूलन को शामिल करना संभव नहीं है जब अभिव्यक्ति में '$' है लेकिन कोई '^' नहीं है। –
... ठीक है, आज मैंने सीखा है कि आप 'Regex.Match (स्रोत, "/(.*?)/(.*?)$", RegexOptions.RightToLeft) जैसे कुछ भी कर सकते हैं, या यहां तक कि '$' इस मामले में। – Rawling