如何删除一部分字符串

时间:2017-05-28 14:29:30

标签: c# asp.net .net

我想从指定的字符串中删除单词@keyframes spin { 0% { transform: rotate(45deg); } 100% { transform: rotate(45deg); } } Test,而不是从另一侧删除,因此字符串Leaf应为Test_AA_234_6874_Test,但是当我使用AA_234_6874_Test它将取代我不想要的任何地方的.Replace字。如何做到这一点 这就是我所做的代码

Test

6 个答案:

答案 0 :(得分:4)

您可以使用正则表达式来执行此操作。正则表达式replace method的第三个参数具体说明您要替换多少次。

string st = "Test_AA_234_6874_Test";
var regex = new Regex("(Test|Leaf)_");
var value = regex.Replace(st, "", 1);

或者,如果要替换的字符串仅在开始时发生,请使用^来断言字符串开头的位置。

string st = "Test_AA_234_6874_Test";
var regex = new Regex("^(Test|Leaf)_");
var value = regex.Replace(st, "");

如果你知道你总是要删除前5个字母,你也可以使用Substring更高效的字母。

string st = "Test_AA_234_6874_Test";
var value = st.Substring(5, st.Length - 5);

答案 1 :(得分:1)

考虑检查字符串是以“开始”开头和/或以“修剪”结束,并确定您想要维护的结束和开始位置。然后使用Substring方法仅获取所需的部分。

Set-AzureWebsite

希望这有帮助。

答案 2 :(得分:1)

最简单的方法是使用正则表达式。

using System;
using System.Text.RegularExpressions;
using System.Text;

namespace RegExTest
{
    class Program
    {
        static void Main(string[] args)
        {
            var input = "Test_AA_234_6874_Test";
            var matchText = "Test";
            var replacement = String.Empty;

            var regex = new Regex("^" + matchText);

            var output = regex.Replace(input, replacement);

            Console.WriteLine("Converted String: {0}", output);

            Console.ReadKey();

        }
    }
}

^将匹配字符串开头的文字。

答案 3 :(得分:1)

使用正则表达式。

        var str1 = "Test_AA_234_6874_Test";
        var str2 = "Leaf_AA_234_6874_Test";

        str1 = Regex.Replace(str1, "^Test", "");
        str2 = Regex.Replace(str2, "^Leaf", "");

Regex.Replace参数是您的输入字符串(str1),您要匹配的模式以及替换它的内容,在本例中为空格。 ^字符意味着查看字符串的开头,所以类似于" MyTest_AAAA_234_6874_Test"将会回归" MyTest_AA_234_6874_Test"。

答案 4 :(得分:1)

string wordToRemoveFromBeginning = "Test_";
int index = st.IndexOf(wordToRemoveFromBeginning);

string cleanPath = (index < 0) ? st : st.Remove(index, 
    wordToRemoveFromBeginning.Length);

答案 5 :(得分:0)

我将在这里使用一些非常简单的代码

string str = "Test_AA_234_6874_Test";
string substring = str.Substring(0, 4);
if (substring == "Test" || substring == "Leaf")
{
   str= str.Remove(0, 5);
}