请教高手SAS中Split string 的疑难问题
1个回答
展开全部
split 方法:将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator],[limit])
参数:stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
略该选项,返回包含整个字符串的单一元素数组。 limit可选项。该值用来限制返回数组中的元素个数。
说明:split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。
split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义"\\."
如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\\|”
,+ * 不是有效的模式匹配规则表达式,用"//*" "//+"转义后即可得到正确的结果。
实例:
public class StringSplit {
public static void main(String[] args) throws Exception {
String originalString = new String("5,8,6,9,12,56,3");
String[] destString = originalString.split(",");
for(int i=0; i < destString.length; i++)
System.out.print(destString[i]+" ");
System.out.println( );
String original = new String("abc,ef,bdj,983,r56,34u");
String[] dest = original.split(",",3);
for(int i=0; i < dest.length; i++)
System.out.println(dest[i]);
System.out.println( );
String s = new String("01:大汽车");
String a[] = s.split(":");
System.out.println(a[0]);
System.out.println(a[1]);
System.out.println( );
String str = "1one123two456obc";
String[] strs2 = str.split("o");
for(int i = 0; i < strs2.length; i++)
System.out.println("strs2["+i+"] = "+strs2[i]);
String value = "192.168.128.33";
String[] names = value.split("\\.");
for (int i = 0; i < names.length; i++)
System.out.println(names[i]);
String value2 = "ABCD|568|ER5|54P";
String[] names2 = value2.split("\\|");
for (int i = 0; i < names2.length; i++)
System.out.println(names2[i]);
}
}
stringObj.split([separator],[limit])
参数:stringObj 必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator 可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽
略该选项,返回包含整个字符串的单一元素数组。 limit可选项。该值用来限制返回数组中的元素个数。
说明:split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。
split 的实现直接调用的 matcher 类的 split 的方法。“ . ”在正则表达式中有特殊的含义,因此我们使用的时候必须进行转义"\\."
如果用竖线“|”分隔的话,将出现不可得到的结果,必须改为“\\|”
,+ * 不是有效的模式匹配规则表达式,用"//*" "//+"转义后即可得到正确的结果。
实例:
public class StringSplit {
public static void main(String[] args) throws Exception {
String originalString = new String("5,8,6,9,12,56,3");
String[] destString = originalString.split(",");
for(int i=0; i < destString.length; i++)
System.out.print(destString[i]+" ");
System.out.println( );
String original = new String("abc,ef,bdj,983,r56,34u");
String[] dest = original.split(",",3);
for(int i=0; i < dest.length; i++)
System.out.println(dest[i]);
System.out.println( );
String s = new String("01:大汽车");
String a[] = s.split(":");
System.out.println(a[0]);
System.out.println(a[1]);
System.out.println( );
String str = "1one123two456obc";
String[] strs2 = str.split("o");
for(int i = 0; i < strs2.length; i++)
System.out.println("strs2["+i+"] = "+strs2[i]);
String value = "192.168.128.33";
String[] names = value.split("\\.");
for (int i = 0; i < names.length; i++)
System.out.println(names[i]);
String value2 = "ABCD|568|ER5|54P";
String[] names2 = value2.split("\\|");
for (int i = 0; i < names2.length; i++)
System.out.println(names2[i]);
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询