如何删除字符串中的前两个和后两个字符?
有没有一种简单的方法来删除字符串中的前2个和后2个字符?
我有这个字符串:
\nTESTSTRING\n
我怎么能轻易删除它们?
str = str.Substring(2,str.Length-4)
当然,在执行此操作之前,您必须测试该字符串是否包含4个以上的字符。 在你的情况下,似乎\ n是一个换行符。 如果你想要做的只是删除前导和尾随空格,你应该使用
str.Trim()
正如查尔斯所说
// Test string var str = "\nTESTSTRING\n"; // Number of characters to remove on each end var n = 2; // Slimmed string string slimmed; if (str.Length > n * 2) slimmed = str.Substring(n, str.Length - (n * 2)); else slimmed = string.Empty; // slimmed = "ESTSTRIN"
你试过了吗:
myString.Trim();
myString = myString.SubString(2, myString.Length - 4);
Papuccino1,
如果您创建这样的扩展方法:
public static class StringEnumerator { public static IEnumerable GetLines(this String source) { String line = String.Empty; StringReader stringReader = new StringReader(source); while ((line = stringReader.ReadLine()) != null) { if (!String.IsNullOrEmpty(line)) { yield return line; } } } }
您的代码将被简化并且更安全(不依赖于危险索引):
class Program { static void Main(string[] args) { String someText = "\nTESTSTRING\n"; String firstLine = someText.GetLines().First(); } }
我希望这有帮助,
Ricardo Lacerda Castelo Branco
string Origional = TextBox1.Text.Replace(TextBox1.Text.Substring(0, 2), ""); Origional += Origional.Replace(Origional.Substring((Origional.Length - 2), 2), "");
public string RemoveFirstCharFromString(string Text) { string[] arr1 = new string[] { "The ", "A " }; string Original = Text.ToLower(); if (Text.Length > 4) { foreach (string match in arr1) { if (Original.StartsWith(match.ToLower())) { //Original = Original.Replace(match.ToLower(), "").TrimStart(); Original = Original.Replace(Original.Substring(0, match.Length), "").TrimStart(); return Original; } } } return Original; }
它的简单使用Substring
和Remove
方法,详见此链接 :
string mystring = "122014"; mystring = mystring.Substring(mystring.Length - 4); Response.Write(mystring.ToString()); //output:2014 mystring = "122014"; string sub = mystring.Remove(mystring.Length - 4); Response.Write("
"); Response.Write(sub.ToString()); //output: 12