2011-04-05 40 views
0

我有一个字符串格式如下:选择和显示字符/在C#.Net的分隔符之间的字符串

ABCD * %的HelloWorld; df4? * Thisis; sf4er7? 测试; sdf

从上面的文字, 我想抓住HelloWorld在textbox1,Thisis在textbox2和Test在textbox3。

它们每个都位于“%;”和“?;”之间。

我希望它发生在单一事件中。我如何在C#.net中执行此操作?建议我以最快但最简单的方式完成这项工作!

+3

使用正则表达式解析出你的价值观的词或短语?或string.split,如果你懒惰学习正则表达式:) – 2011-04-05 08:14:05

+0

我认为正则表达式会是更好的主意。我想要更快的东西在这里! – DizitalTech 2011-04-05 08:16:32

回答

1

试试这个。 http://en.csharp-online.net/Manipulating_Strings_in_CSharp%E2%80%94Splitting_a_String

string input ="abcd*%HelloWorld;df4?*Thisis;sf4er7?Test;sdf" 
input = input.Replace('%').Replace('?') 
string[] splited = input.split(';') 

或者正则表达式 http://msdn.microsoft.com/en-us/library/8yttk7sy.aspx

string input = "plum--pear"; 
string pattern = "-";   // Split on hyphens 

string[] substrings = Regex.Split(input, pattern); 
foreach (string match in substrings) 
{ 
    Console.WriteLine("'{0}'", match); 
} 
+0

Foolsih我..我从来没有想过我可以做到这一点... – DizitalTech 2011-04-06 01:36:49

0

对于这样一个简单的情况下,我会使用String.Split - 这是为string.Split(new string[] {"%;", "?;"}, StringSplitOptions.RemoveEmptyEntries);

0

一样简单,我认为你应该先统一分路器像替换“%”和“?”具有独特的性格,如'|'甚至空间。

然后通过您设置的统一字符拆分字符串。

精细,如果你知道索引您将获取从分裂过程返回的字符串数组,你会在每个索引得到你想要

+0

是啊!我感谢你的提示:)非常感谢你的帮助! – DizitalTech 2011-04-06 01:39:34