我有以下字符串:尋找在C#從另一個提取拖字符串最簡單的方法
string a = "1. testdata";
string b = "12. testdata xxx";
我想什麼是能夠提取數成一個字符串和字符後的數字進入另一個。我嘗試使用.IndexOf(「。」),然後刪除,修剪和子字符串。如果可能的話,我想找到更簡單的東西,因爲我的代碼很多部分都是在 中做的。
我有以下字符串:尋找在C#從另一個提取拖字符串最簡單的方法
string a = "1. testdata";
string b = "12. testdata xxx";
我想什麼是能夠提取數成一個字符串和字符後的數字進入另一個。我嘗試使用.IndexOf(「。」),然後刪除,修剪和子字符串。如果可能的話,我想找到更簡單的東西,因爲我的代碼很多部分都是在 中做的。
提出的解決方案至今都是不正確的。 首先,在分割('。')或分割(「。」)之後,第二個子串的開始處會有空格。其次,如果你有不止一個點 - 你必須在分割之後做一些事情。
更健壯的解決方案是如下:
string a = "11. Test string. With dots.";
var res = a.Split(new[] {". "}, 2, StringSplitOptions.None);
string number = res[0];
string val = res[1];
參數2指定的字符串,返回的最大數量。因此,當你有幾個點時 - 它只會在第一個點進行分割。
拆分字符串應該可以分配給Char - >所以應該是「。」而不是「。」 - 不是嗎? – ub1k 2011-06-14 06:46:50
不是。有超負荷將string []作爲第一參數。這就是爲什麼這個版本在val中沒有領先空間的問題。你可以嘗試自己運行 - 這是真的有用:) – 2011-06-14 06:49:36
如果格式總是一樣的,你可以這樣做:
a.Split('.');
請注意,這是不正確的解決方案。在這裏看到我的評論:http://stackoverflow.com/questions/6339826/looking-for-the-simplest-way-to-extract-tow-strings-from-another-in-c/6339924#6339924 – 2011-06-14 06:38:51
請注意我指定:「如果格式總是相同的。」 - >雖然你肯定有點! – ub1k 2011-06-14 06:43:23
string[]list = a.Split(".");
string numbers = list[0];
string chars = list[1];
*「正如我在我的代碼的很多部分所做的那樣」* - 爲什麼不把它包裝在一個函數中? – Tomalak 2011-06-14 06:32:17