java中怎么把一个字符串中数字和字符分别提取出,例如字符串12+3,要提取成12,3,+,并且打印出来。 编写一个java方法,使得字符串1,2,3,4...11,1...

\u5982\u4f55\u7528java\u8bfb\u53d6\u4e00\u4e32\u5b57\u7b26\u4e32\u4e2d\u62ec\u53f7\u5185\u7684\u6570\u636e\uff1f\u5982String=\u201c2012\u5e74\u201c\u5317\u4eac\u201d\u4f60\u597d\uff0812,34\uff09\u548c\uff083,2\uff09

\u7528\u5b57\u7b26\u4e32\u7684split\u65b9\u6cd5\u5206\u5272\u5b57\u7b26\u4e32\u6210\u6570\u7ec4\u3002\u6bd4\u5982string.split("("); \u5bf9\u6570\u7ec4\u4ece1\u8d77\u518d\u7528subString(0,\u6570\u7ec4[i].indexOf(")"); \u65b9\u6cd5\u6570\u636e\u5c31\u51fa\u6765\u4e86\u3002

\u8fd9\u4e2a\u65b9\u6cd5\u6709\u5f88\u591a\uff0c\u5199\u4e24\u79cd\u4f60\u770b\u770b\u3002
\u65b9\u6cd5\u4e00\uff1a
public class Num {
public static void main(String[] args){
String str1="1,2,3";
String ret="'"+str1.replace(",", "','")+"'";
System.out.println(ret);
}

}

\u65b9\u6cd5\u4e8c\uff1a
public class Num {
public static void main(String[] args){
String str1="1,2,3";
String[] str2=str1.split(",");
String ret="";
for(String i : str2){
ret+="'"+i+"',";
}
System.out.println(ret);//\u6700\u540e\u6709\uff0c
System.out.println(ret.substring(0, ret.length()-1));//\u6700\u540e\u6ca1\u6709\uff0c
}

}

先把字符串分割成字符数组,三种方式判断是不是数字
参考http://www.blogjava.net/Javaphua/archive/2007/06/05/122131.html
1.java自带函数

for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
这里将非数字提取
}else{
这里将数字提取

}

}

2用正则表达式,不过这个是判断整个字符串的。你把字符串分割了再循环调用
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}

3用ascii码,这个最简单了,小雨0或者大于9的asscii码就肯定不是数字

public static boolean isNumeric(String str){
for(int i=str.length();--i>=0;){
int chr=str.charAt(i);
if(chr<48 || chr>57)
return false;
}
return true;
}

public class Test {
public static void main(String[] args) {
Pattern p=Pattern.compile(\\d+);
Matcher matcher=p.matcher("12+3");
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}

根据它们的ascii码区分,用正则表达式会简单点:
String input="12+3";
String regExp="\\D";//非数字的正则表达式
String [] nums=input.split(regExp);//取得数字
System.out.println(Arrays.asList(nums));
//取得非数字
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(input);
while(m.find()){
System.out.println(m.group());
}

  • 鐢java濡備綍杈撳嚭涓涓瓧绗︿覆涓鐨勬墍鏈夋暟瀛?
    绛旓細import java.util.regex.Matcher;import java.util.regex.Pattern;String str = "aaa23aa12323dsafb23213";Pattern pattern = Pattern.compile("\\d+");Matcher matcher = pattern.matcher(str);while( matcher.find()){ System.out.println(matcher.group());} ...
  • java涓庝箞灏嗗瓧绗︿覆涓殑鏁板瓧鍙栧嚭鏉
    绛旓細public class 鍙栨暟瀛梴public static void main(String[] args) {System.out.println("\n\t\t===灏嗗瓧绗︿覆涓殑鏁板瓧鍙栧嚭鏉===\n");init();}//鍒濆鍖!private static void init(){//鍒嗗壊!String[] s="浠婂ぉ鏄2017骞09鏈01鏃".split("\\D+");//鎵撳嵃鍒嗗壊鐨!for (int i=0;i...
  • java涓庝箞鎴彇瀛楃涓蹭腑鐨勬暟瀛
    绛旓細java涓鎴彇瀛楃涓蹭腑鐨勬暟瀛鏂规硶鏈夊緢澶氾紝渚嬪鐢ㄦ鍒欒〃杈惧紡銆傝瘯涓璇曚笅闈㈢殑婕旂ず绋嬪簭鍚с俻ublic class SplitTest{ public static void main(String[] args) { String input = "jdiwo3495jis90.5jsie4dss56djiw9"; String regex = "\\d+(\\.\\d+)?"; Pattern pattern = Pattern.co...
  • java涓庝箞鎻愬彇瀛楃涓蹭腑鐨勬暟瀛?
    绛旓細1銆佸湪鎵撳紑鐨刬e娴忚鍣ㄧ獥鍙e彸涓婃柟鐐瑰嚮榻胯疆鍥炬爣锛岄夋嫨鈥淚nternet閫夐」鈥濓紝濡備笅鍥炬墍绀猴細2銆佸湪鎵撳紑鐨処nternet閫夐」绐楀彛涓紝鍒囨崲鍒板畨鍏ㄦ爮锛屽湪瀹夊叏閫夊崱涓偣鍑烩滆嚜瀹氫箟绾у埆鈥濓紝濡備笅鍥炬墍绀猴細3銆佸湪鈥滃畨鍏ㄨ缃-Internet 鍖哄煙鈥濈晫闈㈡壘鍒扳Java 灏忕▼搴忚剼鏈濄佲滄椿鍔ㄨ剼鏈濓紝骞跺皢杩欎袱涓夐」閮介夋嫨涓衡滅鐢ㄢ濓紝鐒跺悗鐐瑰嚮...
  • java璇█涓浣鑾峰彇瀛楃涓蹭腑姹夊瓧鐨涓暟
    绛旓細銆愬疄鐜拌繃绋嬨戝湪Eclipse涓柊寤洪」鐩瓹hineseCharacter锛屽苟鍦ㄥ叾涓垱寤涓涓ChineseCharacter.java鏂囦欢銆傚湪璇ョ被鐨勪富鏂规硶涓垱寤烘爣鍑嗚緭鍏ユ祦鐨勬壂鎻忓櫒瀵硅薄锛屾帴鏀剁敤鎴疯緭鍏ョ殑瀛楃涓层傛垜浠湪绋嬪簭涓娇鐢╩atches()鏂规硶鏉ョ粺璁¤瀛楃涓蹭腑姹夊瓧鐨勪釜鏁銆傛牳蹇冧唬鐮佸涓嬫墍绀猴細protectedvoiddo_button_actionPerformed(ActionEvente){String...
  • java涓 濡備綍缁熻涓娈瀛楃涓蹭腑鐩稿悓瀛楃鐨勪釜鏁
    绛旓細閫氳繃寰幆閬嶅巻瀛楃涓诧紝鐒跺悗涓涓涓殑姣旇緝锛岃涓嬬浉鍚瀛楃鐨涓鏁灏辫浜嗐備唬鐮佸涓嬶細import java.util.Scanner;import java.util.TreeMap;/** * 浠庨敭鐩樿緭鍏16浣嶉暱鏁存暟,缂栫▼缁熻姣忎釜鏁板瓧鍑虹幇鐨勪釜鏁 * @author young * */public class CharMapDemo {// 缁熻鏁板瓧鎴栬呭瓧绗﹀嚭鐜扮殑娆℃暟public static TreeMap<...
  • 鎬庝箞鐢java鎶杈撳叆鐨瀛楃涓蹭腑鐨勬暟瀛鎻愬彇鍑烘潵,骞剁浉鍔 杈撳叆鏁版嵁鏍蜂緥: 12a...
    绛旓細鎬庝箞鐢java鎶杈撳叆鐨瀛楃涓蹭腑鐨勬暟瀛鎻愬彇鍑烘潵锛屽苟鐩稿姞 杈撳叆鏁版嵁鏍蜂緥锛 12a3b@2p 杈撳嚭鏁版嵁鏍蜂緥锛 1+2+3+2=8 / public class SumOfNum { public static void main(String[] args) { /*瀹氫箟涓涓int[],鐢ㄤ簬鎺ユ敹瀛楃涓蹭腑鐨勬暟瀛楋紝鏈▼搴忛噰鐢ㄥ姩鎬佺殑澧炲姞鏁扮粍鐨勯暱搴**/ int[] num = {};Scanner sc...
  • java涓鍦String涓庝箞鍙栨暟瀛
    绛旓細public class test { public static void main(String[] args){ String s="af24v5m1aag3";for(int i=0;i=48&&a<=57) //48,57鍒嗗埆鏄0鍜9鐨凙SCLL鐮 System.out.println(s.charAt(i));} } } 绋嬪簭杈撳嚭锛2 4 5 1 3
  • java杈撳叆涓涓瓧绗︿覆,鎵撳嵃鍑哄叾涓墍鏈鐨勬暟瀛
    绛旓細import java.util.Scanner;public class Numbers { public static void main(String[] args) { System.out.println("杈撳叆涓涓瓧绗︿覆:");Scanner scanner = new Scanner(System.in);StringBuffer sb=new StringBuffer();String line = scanner.nextLine();char a[]=line.toCharArray();System.out....
  • Java 鎬庝箞鍙栧嚭涓涓瓧绗︿覆涓殑鏁板瓧 骞跺姞涓婁竴涓暟 鍐嶆妸鍘熸潵瀛楃涓茶緭鍑烘潵...
    绛旓細瀹炵幇鎬濊矾灏辨槸鍒ゆ柇瀛楃涓蹭腑鐨姣涓涓瓧绗鏄惁涓烘暟瀛楋紝涔嬪悗寰幆鍒ゆ柇涓嬩竴涓槸涓嶆槸锛屾槸鐨勮瘽灏辨嫾鎺ワ紝鍜岀户缁殑涓涓粍鎴愬瓧绗︿覆锛岀户缁垽鏂紝鐩磋揪涓嶆弧瓒虫潯浠惰緭鍑,涔嬪悗鐩存帴鏇挎崲鎺変箣鍓嶇殑鍊煎嵆鍙係tring str = "this class 12 teachers";String num = "";for (int i = 0; i < str.length(); i++) ...
  • 扩展阅读:java中怎么输入字符串 ... java输出多个字符串 ... java中输入一个字符串 ... java字符型怎么输入 ... javascript入门 ... java中字符串怎么比较 ... java怎么输入一个字符 ... java字符串怎么比大小 ... java分割字符串 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网