关于如何在C#中使用正则表达式拆分稍微复杂的字符串的建议

时间:2018-01-09 02:16:21

标签: c# regex string

在我获得任何下来的投票之前,请帮我解释逻辑,因为我无法想到如何正确地拆分这个字符串。我可以拆分字符串,但正则表达式似乎不像我预期的那样工作。任何建议表示赞赏。 字符串示例:
1.Lg =0.3μm,Wg =10μm,M = 1 2. Lg =10μm2,Wg =10μm,M = 1

目前我使用这种方法:

public static string[] Quantity(string word)
        {
            string[] XtractedWord;
            Regex separators = new Regex(@"=([\d]+[.][\d]+|[\d]+)[/.A-Za-zµ\xB2\xB3]*[,]*");
            word = word.Replace(" ", String.Empty);
            XtractedWord = separators.Split(word);
            return XtractedWord;
        }

然而,它返回7个字符串,
 “Lg”,“10”,“Wg”,“10”,“M”,“1”,“”。 我想拆分它只返回“Lg”,“Wg”,“M” 请帮助我,并提前谢谢你 请告诉我,因为我还是新人,所以还有原因。

1 个答案:

答案 0 :(得分:0)

为何选择正则表达式?

public static string[] ExtractWords(string sentence)
{
    string[] extractedWords;
    string[] pieces = sentence.Replace(" ", "").Split(',');
    extractedWords = pieces.Select(str => str.Substring(0, str.IndexOf('='))).ToArray();

    return extractedWords;
}