如何从文本中获取特定字符串.C#



所以我正在尝试制作一个minecraft启动器,但它无法登录到服务器,因为我的帐户已迁移到Mojang,所以我用电子邮件而不是用户名登录,但有一种方法可以获得我的用户名,所以我已经找到了方法,但我需要使用c#从文本中获得一系列代码。

"134382:deprecated:USERNAME:7a909de0530c310c69c:dba0c48a038a66bb98"

我需要将"弃用的:用户名"放在一个单独的文本框中,我该怎么做,注意我是用c#编码的,为了获得上面的代码,我使用了这段代码。

http://login.minecraft.net/?user=USERNAME&password=PASSWORD&version=15

这是迄今为止的代码

private void PlayBtn_Click(object sender, EventArgs e)
    {
        string username = UsernameBox.Text;
        string password = PasswordBox.Text;
        Process proc = new Process();
        startMinecraft(true, 256, 1024, username, username, false);
    }
    public static void startMinecraft(bool mode, int ramMin, int ramMax, string username, string sessionID, bool debug)
    {
        string appPath = Path.GetDirectoryName(Application.ExecutablePath) + @"";
        string appData = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"";
        Process proc = new Process();
        if (debug == true)
        {
            proc.StartInfo.FileName = "java";
        }
        else
        {
            proc.StartInfo.FileName = "javaw";
        }
        //Online and offline modes
        if (mode == true)
        {
            proc.StartInfo.Arguments = "-Xms" + ramMin + "M -Xmx" + ramMax + "M -Djava.library.path=" + appData + ".minecraft/bin/natives -cp " + appData + ".minecraft/bin/minecraft.jar;" + appData + ".minecraft/bin/jinput.jar;" + appData + ".minecraft/bin/lwjgl.jar;" + appData + ".minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft " + username + " " + sessionID;
        }
        else
        {
            proc.StartInfo.Arguments = "-Xms" + ramMin + "M -Xmx" + ramMax + "M -Djava.library.path=" + appData + ".minecraft/bin/natives -cp " + appData + ".minecraft/bin/minecraft.jar;" + appData + ".minecraft/bin/jinput.jar;" + appData + ".minecraft/bin/lwjgl.jar;" + appData + ".minecraft/bin/lwjgl_util.jar net.minecraft.client.Minecraft " + username;
        }
        proc.Start();
    }

如果订单保持不变,您可以尝试此

  string[] results = yourstring.split(':');
  yourtextbox.Text = results[1]+ ":" + results[2];   //results1 will give depreciated and results 2 will give UsErname

您还没有完全指定源字符串的格式。现在,我假设它的形式是

*:deprecated:USERNAME:*:*

其中CCD_ 1是任意的但不包含CCD_。

然后你可以说:

var fields = source.Split(':');
string target = fields[1] + ":" + fields[2];

现在您可以将target分配给您的文本框。

这是我需要的一个工作代码:)非常感谢您的帮助。

WebClient client = new WebClient();
        String htmlCode = client.DownloadString("http://login.minecraft.net/?user=USERNAME&password=PASSWORD&version=15");
        label1.Text = htmlCode;
        string[] results = htmlCode.Split(':');
        label2.Text = results[1] + ":" + results[2];
        label3.Text = results[2];

相关内容

  • 没有找到相关文章

最新更新