这是我的字符串
string test = "255\r\n\r\n0\r\n\r\n-1\r\n\r\n255\r\n\r\n1\r";
为了在这个字符串中找到n1,我必须这样做:
string test = @"255\r\n\r\n0\r\n\r\n-1\r\n\r\n255\r\n\r\n1\r";
但是如果我将这样的字符串声明为内容来自文本框,那该怎么办:
string test = this.textbox.Text.ToString();
我如何在与上面示例相同的场景中找到n1,因为下面的代码不起作用。
string test = @this.textbox.Text.ToString();
答案 0 :(得分:1)
使用正则表达式
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string test1 = "255\r\n\r\n0\r\n\r\n-1\r\n\r\n255\r\n\r\n1\r";
string test2 = @"255\r\n\r\n0\r\n\r\n-1\r\n\r\n255\r\n\r\n1\r";
Console.WriteLine("First String");
MatchCollection matches = Regex.Matches(test1, @"\d+", RegexOptions.Singleline);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
Console.WriteLine("Second String");
matches = Regex.Matches(test2, @"\d+", RegexOptions.Singleline);
foreach (Match match in matches)
{
Console.WriteLine(match.Value);
}
Console.ReadLine();
}
}
}
答案 1 :(得分:0)
在C#中,@
符号用于逐字字符串。只有在写文字时。
无需将其应用于变量。只需写下:
string test = this.textbox.Text;
请注意,不需要ToString()
来电。