繁体   English   中英

如何在C#中获取部分串联字符串

[英]How do I get parts of my concatenated strings back in C#

我有两个琴弦

 str1 = "E|DaphneBlake" 
 str2 = "8/27/2015" 

串联在一起。

 string str3 = String.Concat(str1,str2)

这将产生一个输出:

 "E|DaphneBlake8/27/2015"

稍后,我尝试将两个字符串重新取回两个var。 我正在使用此代码来做到这一点:

public static string getFirst(string strSource, string strStart, string strEnd)
{
int Start, End;
if (strSource.Contains(strStart) && strSource.Contains(strEnd))
{
    Start = strSource.IndexOf(strStart);
    End = strSource.IndexOf(strEnd);
    return strSource.Substring(Start, End);
}
else
{
    return "";
}
}


public static string getLast(string strSource, string strStart)
{
int Start, End;
if (strSource.Contains(strStart))
{
    Start = strSource.IndexOf(strStart);
    End = strSource.LastIndexOf(strStart) + 1;
    return strSource.Substring(Start, End);
}
else
{
    return "";
}
}

string data = getFirst("E|DaphneBlake8/27/2015", "E|Daphne Blake8", "8/27/2015");
string data2 = getLast("E|DaphneBlake8/27/2015", "8/27/2015");

getFirst有效,但getLast无效 它给我一个错误

Index and length must refer to a location within the string.Parameter name: length

我已经解决了上述@Blorgbeard建议的问题。

public static string getAfter(string strSource, string strStart)
{
int Start, End;
if (strSource.Contains(strStart))
{
    Start = strSource.IndexOf(strStart);
    End = strStart.Length;
    return strSource.Substring(Start, End);
}
else
{
    return "";
}
}

如果您的标识符位于字符串1的结尾或字符串2的开头,则可以使用string.Split(“您的标识符”)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM