替换特定字符串之间的字符串

时间:2016-03-19 10:27:00

标签: c# asp.net

如何在c#中的某些特定字符串之间替换字符串 对于Exmaple

string temp = "I love ***apple***";

我需要在" ***"之间获得价值。字符串,即" apple&#34 ;;

我尝试过使用IndexOf,但只获取所选值的第一个索引。

1 个答案:

答案 0 :(得分:2)

您应该使用正则表达式来正确操作各种值,例如***banana******nut***,因此下面的代码可能对您有用。我创建了*** ***

之间的值替换和提取
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

namespace RegexReplaceTest
{
    class Program
    {
        static void Main(string[] args)
        {
            string temp = "I love ***apple***, and also I love ***banana***.";
            //This is for replacing the values with specific value.
            string result = Regex.Replace(temp, @"\*\*\*[a-z]*\*\*\*", "Replacement", RegexOptions.IgnoreCase);
            Console.WriteLine("Replacement output:");
            Console.WriteLine(result);

            //This is for extracting the values
            Regex matchValues = new Regex(@"\*\*\*([a-z]*)\*\*\*", RegexOptions.IgnoreCase);
            MatchCollection matches = matchValues.Matches(temp);
            List<string> matchResult = new List<string>();
            foreach (Match match in matches)
            {
                matchResult.Add(match.Value);
            }

            Console.WriteLine("Values with *s:");
            Console.WriteLine(string.Join(",", matchResult));

            Console.WriteLine("Values without *s:");
            Console.WriteLine(string.Join(",", matchResult.Select(x => x.Trim('*'))));
        }
    }
}

这里有一个工作示例:http://ideone.com/FpKaMA

希望这些示例可以帮助您解决问题。