簡體   English   中英

在C#中按位置替換字符串的一部分

[英]replacing part of a string by position in c#

我有一個字符串:===文件內容== \\ r \\ n @這里的東西...} \\ r \\ n \\ r \\ n @這里的東西2 ...} \\ t \\ r \\ n \\ r \\ n \\ r \\ n \\ r \\ n @此處某物3 ...} \\ r @此處某物4 ...} \\ n

使用c#,我想獲取該字符串中所有以'@'開頭並以'}'結尾的字符串,但是由於換行符和制表符不固定,因此在獲取'@'和'}'的位置時遇到了問題。 先感謝您

這是示例輸出:

new string 1 = "@something here... }";
 new string 2 = "@something here 2... }";
 new string 3="@something here 3... }";
 new string 4="@something here 4...}";

參見下面的代碼:

string[] getSubstrings(string str)
{
    return str.Split('@')
        .Select(s => "@" + s.Substring(0, 1 + s.IndexOf('}')))
        .ToArray();
}

您可以使用正則表達式:

var regex = new Regex(@"@[^}]*}");
var listOfMatches = new List<string>();
for (var match = regex.Match(inputString); match.Success; match = match.NextMatch())
{
    listOfMatches.Add(match.Value);
}

暫無
暫無

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

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