簡體   English   中英

用字符串拆分字符串並檢索值c#

[英]Split string with string and retrieve value c#

我有下面的字符串

string arguments = "-p=C:\Users\mplususer\Documents\SharpDevelop Projects\o9\o9\bin\Debug\o9.exe""-t=False""-r=TestRun";

我想用"-t="拆分字符串並獲取false

if (arguments.Contains("-t="))
{
    string[] value = arguments.Split(new string[] { "\"-t=" }, StringSplitOptions.None);
    if (value.Length != 0)
    {
        mode = value[1].Replace("\"", "");
    }
}

只需制作一個IndexOf

var i = myString.IndexOf("-t=") + 3;
if(i != -1)
    value = myString.SubString(i, myString.IndexOf("\"", i) - i);

您也可以使用正則表達式:

var r = new Regex("-t (true|false)");
var g = r.Match(myString).Groups;
if(g.Count > 1)
    value = Convert.ToBoolean(g[1].ToString());

您也可以這樣做,就像沒有正則表達式的方法一樣:

string arguments = "-p=C:\\Users\\mplususer\\Documents\\SharpDevelop Projects\\o9\\o9\\bin\\Debug\\o9.exe\" \"-t=False\" \"-r=TestRun";

if (arguments.Contains("-t="))
{
    string splitted = arguments.Split(new string[] { "\"-t=" }, StringSplitOptions.None)[1];
    string value = splitted.Split(new string[] { "\"" }, StringSplitOptions.None)[0];
} 

拆分“-t”時,會得到兩個碎片。 該分隔符后面的片段還包含一個“-r”選項 - 這是您可能會看到的問題。

如果你知道 “-t”選項后面總是跟一個“-r”,你可以簡單地拆分new string[] { "\\"-t=", "\\"-r=" } 然后你得到三個片段,你仍然想要第二個(在索引1處)。

暫無
暫無

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

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