how to count Enter in a string?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How would you count occurences of a string within a string (C#)?
号
我有一个字符串,它有多个子字符串,并且在它们之间输入(按Enter键的特殊字符)。
你能指导我如何编写一个计算单词之间输入键的正则表达式吗?
谢谢
型
根据所使用的换行符,您可能需要更改为仅
1 2 3 | var numberLineBreaks = Regex.Matches(input, @" ").Count; |
号
型
你不需要正则表达式,你只是在计算字符串。具体地说,您只是在计算
1 | int count1 = source.Length - source.Replace(Environment.Newline,"").Length; |
型
它必须是正则表达式吗?可能有更简单的方法…例如,可以使用
');
型
您可以使用此代码,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | using System; using System.Text.RegularExpressions; class Program { static void Main() { long a = CountLinesInString("This is an awesome website."); Console.WriteLine(a); long b = CountLinesInStringSlow("This is an awesome website. Yeah."); Console.WriteLine(b); } static long CountLinesInString(string s) { long count = 1; int start = 0; while ((start = s.IndexOf(' ', start)) != -1) { count++; start++; } return count; } static long CountLinesInStringSlow(string s) { Regex r = new Regex(" ", RegexOptions.Multiline); MatchCollection mc = r.Matches(s); return mc.Count + 1; } } |
。
型
你可以简单地计算新行数:
1 2 3 4 5 | int start = -1; int count = 0; while ((start = text.IndexOf(Environment.NewLine, start + 1)) != -1) count++; return count; |