3

テキストの一部をテキストボックスから別の文字列にコピーしようとしています。たとえば、テキストボックスに10文字が含まれている場合、文字3から文字7にコピーして、TESTを呼び出す別の文字列にコピーします。どうすればいいですか?

4

4 に答える 4

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

これにより、7文字より短い文字列に対して例外がスローされるため、長さチェックを追加することをお勧めします。

于 2012-07-20T08:34:43.413 に答える
5
// Start at the 2nd index (0=based index)
// Take  from the 3rd to the 7th character, 
string test = textBox.Text.Substring(2, 5);
于 2012-07-20T08:32:46.723 に答える
1

あなたが探している方法はSubstringだと思います。このメソッドを使用すると、特定のインデックスから始まる文字列の任意の部分を取得できます。

例えば:

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

この例では、インデックス2から始まるYourTextBoxの文字列のforu文字を取得します。

于 2012-07-20T08:36:14.653 に答える
0

どうぞ

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;
}
于 2012-07-20T08:43:00.320 に答える