黑马程序员技术交流社区
标题:
split()的问题
[打印本页]
作者:
颜晓峰
时间:
2013-3-4 12:41
标题:
split()的问题
本帖最后由 颜晓峰 于 2013-3-6 20:05 编辑
JAVA中的split(),可以使用正则表达式作为分隔符
var words = sentence.split(/\s+/)
C#中就不行了。。
C#中的split(),分隔符为char[],
如果想用split()分割“1 2 3 4”,4个数字用空格分开,但空格数量不一定。。。。
请问有办法实现用split()方法分割被空格隔开,但空格数量不一定的字符串么
{:soso_e137:}?
作者:
康晓璞
时间:
2013-3-4 13:24
可以变通一下使用正则将空格替换为逗号,再将新生成的字符串用逗号分隔。
例如:
string str = "1 2 3 4";
string[] newStr= Regex.Replace(str,@"\s+",",").Split(',');
作者:
史金阳
时间:
2013-3-4 14:15
拿过去试试喽 只会这样了
public static void Main()
{
string str = "黑马 程序员 希望 黑马论坛 版主老大 加分 !!!! ";
string[] args = str.Split(' ');
ArrayList arr = new ArrayList();
for (int i = 0; i < args.Length; i++)
{
string val = args[i].Trim();
if (val == string.Empty) continue;
arr.Add(val);
Console.WriteLine(val);
}
Console.ReadLine();
}
作者:
刘云东
时间:
2013-3-4 14:15
支持一下1楼,我想到另一种解决办法,就是你先分割,然后再除去空格。msdn有解释的,自己搜索一下。
Split( Char [], StringSplitOptions)
返回的字符串数组包含此字符串中的子字符串(由指定 Unicode 字符数组的元素分隔)。参数指定是否返回空数组元素。
例如:
string st = "1 2 3 4";
char[] chartemp = { ' ' };
string[] arr = st.Split(chartemp,StringSplitOptions.RemoveEmptyEntries);
//在使用的时候直接调用arr[索引].Trim(),下面的代码可以省略。
for (int i = 0; i < arr.Length; i++)
{
arr[i] = arr[i].Trim();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2