将字符串的一部分复制到另一个C#中的字符串
我试图从文本框中将文本的一部分复制到另一个字符串。例如,如果我的文本框包含10个字符,我想从字符3复制到字符7到另一个字符串调用TEST。我们该怎么做呢?将字符串的一部分复制到另一个C#中的字符串
// when textbox contains "ABCDEFGHIJ", the result will be "CDEFG"
string result = textBox.Text.Substring(2, 5);
请记住,这将引发异常的字符串长度超过7个字符短,所以你可能要增加一些长度检查。
谢谢。重要的是知道命令SubString。顺便说一句,有没有办法跳过一些想要的角色。例如,如果数据是2012年7月20日,但我只想复制07202012并忽略'/'。我们该怎么做呢? – maniac84 2012-07-20 08:40:04
@ maniac84'“07/20/2012”.Replace(“/”,string.Empty)'。试试看看MSDN,特别是'string'上定义的方法 - 你会得到你想要*更快*的东西。 – 2012-07-20 08:42:17
// Start at the 2nd index (0=based index)
// Take from the 3rd to the 7th character,
string test = textBox.Text.Substring(2, 5);
我认为你正在寻找的方法是子串。使用这种方法,您可以从某个索引开始获取字符串的任何部分。
例如:
string test = YourTextBox.Text.Substring(2, 5);
在这个例子中,你会得到YourTextBox字符串的字符foru在指数开始2
在这里你去
string test = TakePieceFromText("this is my data to work with", 2, 5);
/// <summary>
/// Takes the piece from text.
/// </summary>
/// <param name="text">The text.</param>
/// <param name="startIndex">The start index.</param>
/// <param name="length">The length.</param>
/// <returns>a piece of text</returns>
private string TakePieceFromText(string text, int startIndex, int length)
{
if (string.IsNullOrEmpty(text))
throw new ArgumentNullException("no text givin");
string result = string.Empty;
try
{
result = text.Substring(startIndex, length);
}
catch (Exception ex)
{
// log exception
}
return result;
}
如果要围绕'SubString'的包装,我会建议创建一个扩展方法。 – Aphelion 2012-07-20 08:45:39
建议为今后的化妆一些研究为你自己之前,你问这样一个问题:) – harry180 2012-07-20 08:34:09
你确定你只是想复制这样的字符,没有比这更聪明?通常你想复制整个单词,如第二,第三和第四个单词。 – 2012-07-20 08:38:16