Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何测试字符串后面的内容_Vb.net_Find_Richtextbox - Fatal编程技术网

Vb.net 如何测试字符串后面的内容

Vb.net 如何测试字符串后面的内容,vb.net,find,richtextbox,Vb.net,Find,Richtextbox,我需要测试富文本框中“Text As”后面的内容。有人知道怎么做吗 Private Sub DebugToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DebugToolStripMenuItem.Click Dim Text_As As String Text_As = RichTextBox1.Find("Text As ") 我不知道之后该怎么办。您可以使用字符串

我需要测试富文本框中“Text As”后面的内容。有人知道怎么做吗

Private Sub DebugToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles DebugToolStripMenuItem.Click
    Dim Text_As As String
    Text_As = RichTextBox1.Find("Text As ")

我不知道之后该怎么办。

您可以使用
字符串。右
功能:

Dim StringAfter = Strings.Right(RichTextBox1.Text, RichTextBox1.Text.Length - "Text As ".Length)
基本上,从第一个参数的右侧获取一些字符。在本例中,我使用RichTextBox中文本的长度,并减去要删除的字符串的长度


当然,您也可以直接插入“Text As”的长度,即7。

RichTextBox.Find不返回字符串,它返回找到文本的索引(如果未找到,则返回-1)。不清楚如何检查“Text As”后面的内容,但下面的代码检查剩余的文本是否以给定字符串开头

Dim ind As Integer = RichTextBox1.Find("Text As ")
If ind >= 0 Then
    If RichTextBox1.Text.Substring(ind + 8).StartsWith("Color Green") Then
        Label1.ForeColor = Color.Green
    End If
End If

我得到一个错误:参数“Length”必须大于或等于零。(很抱歉,如果这是一个简单的修复…)当RichTextBox中的文本短于7个字符时,可能会发生这种情况。只需检查此项,因为在这种情况下,框中甚至没有搜索字符串。此外,我如何将此项应用于其他属性,如位置、字体、大小等@AndrewGarcia:我不确定将此项应用于其他属性是什么意思。你能举个例子说明你的意思吗?例如,我想用这个来制作一个标签,这种标签可以是任何颜色。我想输入“文本颜色绿色”,标签的文本将为绿色。有什么办法可以让它工作吗?我不确定这是否是你的想法,但我改变了我的答案,以显示如果RichTextBox包含“文本为绿色”,如何将Label1中的文本更改为绿色。