簡體   English   中英

如何讓文本框在某個文本之間打印一個變量?

[英]How can I make a textBox print a variable in between a certain text?

例如,我需要richTextBox2 來打印richTextBox1 中“AaBb”和“CcDd”之間的任何內容。

if (richTextBox1.Text.Contains ("AaBb x CcDd"))
    //print whatever is x in richTextBox2

編輯:我忘了提及我正在嘗試做的事情。 我正在嘗試抓取一個網站並在richTextBox 中打印值(例如歐元到美元)。 到目前為止,這是我的代碼。 不幸的是,它對兩個答案都不起作用。

版本 1:

    using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Net;
using System.Windows.Forms;

namespace BitPrice
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

       

 private void Form1_Load(object sender, EventArgs e)
        {
            WebClient priceVariationDollar = new WebClient();
            string dollarPrice = priceVariationDollar.DownloadString("https://www.xe.com/pt/currencyconverter/convert/?Amount=1&From=EUR&To=USD");
            euroTextBox.Text = dollarPrice;
            if (euroTextBox.Text.Contains("<span class=converterresult - toAmount></span>"));
            {
                int p1, p2;
                p1 = euroTextBox.Text.IndexOf("<Span class=converterresoult - toAmount>");
                p2 = euroTextBox.Text.IndexOf("</span>");
                if (p2 > p1 + 4)
                {
                    dollarTextBox.Text = euroTextBox.Text.Substring(p1 + 4, p2 - p1 - 4);
                }
            }
        }
    }
    

版本 2:

    using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Net;
using System.Windows.Forms;

namespace BitPrice
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            WebClient priceVariationDollar = new WebClient();
            string dollarPrice = priceVariationDollar.DownloadString("https://www.xe.com/pt/currencyconverter/convert/?Amount=1&From=EUR&To=USD");
            euroTextBox.Text = dollarPrice;
            if (euroTextBox.Text.Contains("<span class=converterresult - toAmount></span>"));
            {
                var startIndex = euroTextBox.Text.IndexOf("<span class=converterresult - toAmount>") + "<span class=converterresult - toAmount>".Length;
                var endIndex = euroTextBox.Text.IndexOf("</span>");
            if (startIndex >= 0 && endIndex > startIndex)
                dollarTextBox.Text = euroTextBox.Text.Substring(startIndex, endIndex - startIndex);
        }
    }
}

抱歉,如果太長

您需要首先檢查這兩個文本是否在richTextBox1中,然后如果它們都退出,則查看第一個是否在第二個之前,然后您取兩者之間的內容。

int p1, p2;
string t1, t2;
t1 = "....."; //Your first searched text
t2 = "..."; //Your second searched text
p1 = richTextBox1.Text.IndexOf(t1);
p2 = richTextBox1.Text.IndexOf(t2);
if (p2 > p1 + t1.Length)
    richTextBox2.Text1 = richTextBox1.Text.Substring(p1 + t1.Length, p2 - p1 - t1.Length);
var startIndex = richTextBox1.Text.IndexOf("AaBb") + "AaBb".Length;
var endIndex = richTextBox1.Text.IndexOf("CcDd");

if (startIndex >= 0 && endIndex > startIndex)                             
    richTextBox2.Text = richTextBox1.Text.Substring(startIndex, endIndex - startIndex);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM