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