CSharp · Console
using System;
public class Program
{
public string GetInnermostString(string input, string startDelimiter, string endDelimiter)
{
int startIndex = input.LastIndexOf(startDelimiter) + startDelimiter.Length;
int endIndex = input.IndexOf(endDelimiter, startIndex);
if (startIndex >= 0 && endIndex >= 0 && startIndex <= endIndex)
{
return input.Substring(startIndex, endIndex - startIndex);
}
return string.Empty; // or throw an exception if not found
}
public void Main()
{
// Example usage:
//string text = "a(b(c)d)e"; // result will be "c", verified!
//string text = "a(b(c)d)e)"; // test1
string text = "(a(b(c)d)e"; // test2
Console.WriteLine( GetInnermostString(text, "(", ")") ); // result will be "c"
}
}