将字符串的一部分复制到另一个C#中的字符串

问题描述:

我试图从文本框中将文本的一部分复制到另一个字符串。例如,如果我的文本框包含10个字符,我想从字符3复制到字符7到另一个字符串调用TEST。我们该怎么做呢?将字符串的一部分复制到另一个C#中的字符串

+5

建议为今后的化妆一些研究为你自己之前,你问这样一个问题:) – harry180 2012-07-20 08:34:09

+0

你确定你只是想复制这样的字符,没有比这更聪明?通常你想复制整个单词,如第二,第三和第四个单词。 – 2012-07-20 08:38:16

// when textbox contains "ABCDEFGHIJ", the result will be "CDEFG" 
string result = textBox.Text.Substring(2, 5); 

请记住,这将引发异常的字符串长度超过7个字符短,所以你可能要增加一些长度检查。

+0

谢谢。重要的是知道命令SubString。顺便说一句,有没有办法跳过一些想要的角色。例如,如果数据是2012年7月20日,但我只想复制07202012并忽略'/'。我们该怎么做呢? – maniac84 2012-07-20 08:40:04

+0

@ 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); 
+0

谢谢。重要的是知道命令SubString。顺便说一句,有没有办法跳过一些想要的角色。例如,如果数据是2012年7月20日,但我只想复制07202012并忽略'/'。我们该怎么做呢? – maniac84 2012-07-20 08:38:29

+1

@ maniac84你可以使用'string test = test.Replace(“/”,“”);来移除字符串中的字符,但如果它是一个日期,我会建议使用'DateTime dateTime = DateTime.Parse(textBox.Text );' – Aphelion 2012-07-20 08:42:19

我认为你正在寻找的方法是子串。使用这种方法,您可以从某个索引开始获取字符串的任何部分。

例如:

string test = YourTextBox.Text.Substring(2, 5); 

在这个例子中,你会得到YourTextBox字符串的字符foru在指数开始2

+0

谢谢。重要的是知道命令SubString。顺便说一句,有没有办法跳过一些想要的角色。例如,如果数据是2012年7月20日,但我只想复制07202012并忽略'/'。我们该怎么做呢? – maniac84 2012-07-20 08:39:50

+0

您可以简单地使用方法Replace()。用这种方法,你可以替换某个字符或字符串与其他东西。如果你想要完全删除它们,你可以简单地使用string.Empty(例如YourTextBox.Text.Replace(“/”,string.Empty);) – Aradon 2012-07-20 08:44:07

在这里你去

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; 
} 
+1

如果要围绕'SubString'的包装,我会建议创建一个扩展方法。 – Aphelion 2012-07-20 08:45:39