字符串转换
有字符串
"{'sss','55','df',44,'tt',99.9,''}"
如何高效获取字符串"sss"、"55"、"df"、"tt"、""以及数字44、99.9
------解决方案--------------------var str = "{'sss','55','df',44,'tt',99.9,''}";
var arr = str.Trim('{', '}').Split(',').Select(s => s.Trim('\'')).ToArray();
------解决方案--------------------
那你以为这是什么语句呢?
------解决方案--------------------我猜你没加引用
using System.Linq;
------解决方案--------------------反射,2L+1。。
------解决方案--------------------
string str = "{'sss','55','df',44,'tt',99.9,''}";
string[] arr = str.Trim('{', '}').Split(',');
char[] charArray={'\''};
for (int i = 0; i < arr.Length;i++ )
{
arr[i] = arr[i].Trim(charArray);
}
这应该可以吧~你的.net也太老了
------解决方案--------------------话说,这个2.0好像是支持正则表达式的,你可以试试用正则表达式
用两次正则将字符和数字筛选出来~
数字:\d{2}(\.\d+)*
字符:\S[a-zA-Z]{2,3}
------解决方案--------------------放到字符串里就不分什么字符串和数字了,都是string
------解决方案--------------------这个么,正则表达式比较好,因为不必考虑 framework 的版本问题:
int i = 1;
foreach (Match match in Regex.Matches("{77, 'sss', '55', 'df', 44, 'tt', 99.9, ''}", @"\b[a-z0-9.]+\b
------解决方案--------------------
(?<=')(?=')
------解决方案--------------------
(?<="")(?="")"))
{
Console.WriteLine("{0}: <{1}>", i++.ToString(), match.Value);
}
Console.ReadKey();