簡體   English   中英

如何創建C#正則表達式以用引號引起來拆分字符串?

[英]How to create C# Regex to Split the string with some words in quotations?

我有以下格式的字符串:

"one,",2,3,"four " ","five"

我需要以下格式的輸出:

one,
2
3
four " 
five

誰能幫助我為上述內容創建Regex?

您可以在不使用Regex的情況下執行此操作。 對我來說還不清楚,但是你想做什么。 我已經針對更新后的問題調整了代碼:

var text = "\"one\",2,3,\"four \"\",\"five\"";

var collection = text
    .Split(',')
    .Select(s =>
                {
                    if (s.StartsWith("\"") && s.EndsWith("\""))
                    {
                        s = s.Substring(1, s.Length - 2);
                    }
                    return s;
                })
    .ToList();

foreach (var item in collection)
{
    Console.WriteLine(item);
}

我為您添加了另一個示例,該示例使用CSV閱讀器。 我已經從NuGet安裝了“ CsvHelper”軟件包:

const string text = "\"one,\",2,3,\"four \"\"\",\"five\"";

using (var textReader = new StringReader(text))
using (var reader = new CsvReader(textReader))
{
    reader.Configuration.Delimiter = ',';
    reader.Configuration.AllowComments = false;
    reader.Configuration.HasHeaderRecord = false;

    if (reader.Read())
    {
        foreach (var item in reader.CurrentRecord)
        {
            Console.WriteLine(item);
        }
    }
}
  string newString = Regex.Replace(oldString, @'[^",]', ' ');

我希望正則表達式很好,但是我只希望您看到這個主意。

編輯:

 string newString = Regex.Replace(oldString, @'[^",]', '\n');

暫無
暫無

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

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