2009-11-23 238 views
-3

我有一個像123Prefix1pics.zip如何分割字符串

我想將它分割成123 Prefix1 pics.zip並將它們存儲在不同的變量 我嘗試做它在C#中的字符串,.NET JST關於如何使用拆分方法的小問題

+0

如果您提到該語言,您會得到更好的答案。 – Yacoby 2009-11-23 11:44:47

+2

什麼語言?請付出一些努力。 – LiamB 2009-11-23 11:44:49

+0

用什麼語言? – 2009-11-23 11:45:00

回答

7
splitArray = Regex.Split(subjectString, @"(?<=\p{N})(?=\p{L})"); 

將在C#中工作的一些(\p{N})和信(\p{L})之間的位置分裂。

如果你也希望有一個字母和數字之間的分割,使用

splitArray = Regex.Split(subjectString, @"(?<=\p{L})(?=\p{N})|(?<=\p{N})(?=\p{L})"); 

但是,將您的例子太多了。

+0

答案很高雅,但正如蒂姆所說,它不會產生所需的結果 - 但它被標記爲正確的? – 2009-11-23 12:06:16

0

看起來像要按固定大小拆分。

所以使用yourString.Substring(0, 3);

1

你可以這樣開始:

string filename = "123Prefix1pics.zip" 
string part1 = filename.Substring(0, 3); 
string part2 = filename.Substring(3, 7); 
string part3 = filename.Substring(10, 4); 

您還可以注意到String.Split()需要一個分離的說法,像;,。由於您沒有任何分隔符,因此您可以嘗試兩種方法:

  • 確保所有文件名具有相同的格式;這樣,您可以使用Substring()打破字符串
  • 您可以識別更普遍的模式,如「數字,7個字符再加上4個字符」並使用正則表達式。這是更先進的解決方案,可能導致維護問題;

我建議你堅持第一種選擇。

5

你只想分割一個字符串?太容易了!

string filename = "123Prefix1pics.zip" 
string part1 = "123" 
string part2 = "Prefix1" 
string part3 = "pics.zip" 

好的這是一個笑話,但它給出了正確的答案。除非你概括分解規則,或者提供更多的例子,否則我們只能猜測。

可能被要求在數字後打斷字符串,但我只是猜測。

+0

:)我想我們同意這一點,柯克。 – 2009-11-23 12:17:19

1

您可以像這樣把它分解:

  • 在一個字符串變量這樣你的ip:
  • 創建一個char向量
  • 然後串矢量

代碼:

string theIP="this is string"; 
char[] separator={' '}; //you can put multiple separators 
string[] result = theIP.Split(separator,StringSplitOptions.None); 

這意味着result[0]"this"result[1]"is",依此類推。

你可以找到一個很好的教程關於字符串分割位置:

http://goldwin-advertising.ro/index.php?option=com_content&view=article&id=10:splitstring&catid=3:howto&Itemid=5

祝你好運!