java调用exe 及 在字符串中去除字符

本文介绍如何使用Java程序调用外部EXE文件,并提供了去除字符串中特定字符的多种方法,包括传统循环和正则表达式实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java调用exe  :

public class TransferExe {

	public void openWinExe()
	{
		Runtime rn = Runtime.getRuntime();
		Process p = null;
		try{
			String command = "notepad";//String command1 = "java  -cp D:/test TransferExe"
			p = rn.exec(command);
		}catch (Exception e) {
			// TODO: handle exception
			System.out.println("Error runs in win exec");
		}
	}
	
	public void openMyExe()
	{
		Runtime rn = Runtime.getRuntime();
		Process p = null;
		try{
			p = rn.exec("\"D:/Sh/good/tools/Catwell.T-Regex.exe\"");
		}catch (Exception e) {
			// TODO: handle exception
			System.out.println("Error runs in my exec");
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		TransferExe te = new TransferExe();
		te.openMyExe();
		te.openWinExe();
	}

}

 在字符串中去除字符:

public class RemoveLetters {

	public void test1(String str)
	{
		//String str="6sabcsssfsfs33";
		boolean removeChars[] = new boolean[256];
		
	    removeChars['a'] = true;
	    removeChars['b'] = true;
	    removeChars['3'] = true;
	   // System.out.println(removeChars['x']);
		StringBuffer sb = new StringBuffer();
	    /*for (int i=0; i<str.length(); i++) {
	    	char ch = str.charAt(i);
	        if (!removeChars[ch]) 
	        	sb.append(ch);
	    }*/
		/*改换*/
		char[] c = str.toCharArray();   
		for(char temp:c){   
			if (!removeChars[temp]) 
	        	sb.append(temp); 
        }   

	    String result = sb.toString();
	    System.out.println(result);
	}
	
	public void test2(String str)
	{
		//String str = "6sabcsssfsfs33";   
        char c1 ='a';   
        char c2 ='b';   
        char c3 ='3';   
           
        char[] c = str.toCharArray();   
        StringBuilder sl = new StringBuilder();  
       // StringBuffer sl = new StringBuffer();
        for(char temp:c){   
            if(temp != c1 && temp !=c2 && temp !=c3)   
                sl.append(temp);   
        }   
        System.out.println(sl.toString());   
	}
	
	/*使用正则表达式*/
	public void regex(String str)
	{
		Pattern pattern = Pattern.compile("[a|b|3]");
		Matcher matcher = pattern.matcher(str); 
		System.out.println(matcher.replaceAll("")); 
	}
	
	public void regex2(String str)
	{
		Pattern pattern = Pattern.compile("[^a|b|3]");
		Matcher matcher = pattern.matcher(str); 
		while(matcher.find()){
			System.out.print(matcher.group()); 
		}
	}
	
	public static void main(String[] args) {
		// 从"6sabcsssfsfs33"字符串中移除'a','b','3'的字符
		RemoveLetters rl = new RemoveLetters();
		String str="6sabcsssfsfs33dashdjqwhdiqwhdioj1ioej23orj431r9041irf1[jkop1o[1-34fjkop13fjkl;k;jklj4130fr4u301jfklqw" +
				"dasdhnjiqewhhhhhhhhhhhhhhhhhhhhhhpe2owdji23eio123ekl1aaaaaaabbbbbbbbbbbbbid239ej23elrj23e234135rm1lrm1ermkl" +
				"daskldq2dnkldjklasdjjjjjjjjjjjjd2222222222222222222222r34444444444444444444444444444444444444444444444444444" +
				"ddddddddddddddddddddddddddqew22222222222223333333333333333334444444444444444gggggggggggggggggg" +
				" 1 gaattatctc cactcataat aaggttattc caaatgtatt aaaaatatac attttgaaca"+
			     "  61 tataaacaaa tttaaatcac aactcagcaa acccttaaac cgggaagctt ttatacaatg"+
			     "  121 accttttgac ttgtgaggtt caatttacac atatcatcct aaaactacaa ccctcctgac"+
			     "   181 tctatctttt ccaacacttc caatctgttt ttccttttcc aaccattcat cgtagccaca"+
			     "   241 aggtttatta gccccaccat ttgacttttc gtatattccg gatgtgcacg tgcccagtgg"+
			     "   301 acatattcag tttccggaag ataatacgct ttgataaaag tttctacact ttgtaacttt"+
			     "  361 ggtttgacgt taacagtcac aaaatgctga atcccgttca ttaaaacctg aagatccaat"+
			     "  421 aacattaagg cacgaccctc atcggaacat cttttgactc ttgaaagtcc ttcgattaaa"+
			     "   481 atttcagaaa tattttcaag tccatattct attaagagat tttgaacctc tgttcggata"+
			     "   541 cctccatgag ctagtcttgt tttgtagtgc ttaaattccc ctaataacag gtcaacatac"+
			     "   601 ccattatgtt ccattccaag ctctttaact ccccatttag cattagcaat cctatcaaca"+
			     "   661 taaccactaa tttaaaaaag taattggcat tgttt"; 
		/*long beginS = Calendar.getInstance().getTimeInMillis();
		rl.test1(str);
		System.out.println("test1--efficency:" + (Calendar.getInstance().getTimeInMillis() - beginS));*/
		
		/*long beginS = Calendar.getInstance().getTimeInMillis();
		rl.test2(str);
		System.out.println("test2--efficency:" + (Calendar.getInstance().getTimeInMillis() - beginS));*/
		
		long beginS = Calendar.getInstance().getTimeInMillis();
		rl.regex(str);
		System.out.println("regex--efficency:" + (Calendar.getInstance().getTimeInMillis() - beginS));
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值