1. 程式人生 > 其它 >Java實現去除字串中的英文字元後,倒序方式(第一個字元最後一個顯示),以每行8個字元的格式輸出到檔案A中

Java實現去除字串中的英文字元後,倒序方式(第一個字元最後一個顯示),以每行8個字元的格式輸出到檔案A中

1、題目:去除字串中的英文字元後,倒序方式(第一個字元最後一個顯示),以每行8個字元的格式輸出到檔案A中

2、思路

使用正則表示式 + replaceAll()方法去除字串中的英文字元後。

使用StringBuffer的reverse()方法倒序字串,8 個字元後insert()方法插入了換行字元。

輸出時自動解析換行字元到檔案A中。

3、題解

import java.io.FileWriter;
import java.io.IOException;

public class Code2 {
    //去除字串中的英文字元後,
    //倒序方式(第一個字元最後一個顯示),
    //以每行8個字元的格式輸出到檔案A中
    public static void main(String[] args) throws IOException {

        String s = "~asd;4#1er&67qwe234#1&3sdBd1d1,@3ret#1&56ghk123#1A&34D";

        FileWriter fw = new FileWriter("C:/Users/log/A.txt");  
 
        s = s.replaceAll("[a-zA-Z]","" );   //正則表示式[a-zA-Z]空值替換,去除字串中的英文字元

        StringBuffer sBuffer = new StringBuffer(s);

        sBuffer.reverse();  //倒序

        int counter = 0;  //記錄插入了幾個換行字元

        for(int i = 8;i < sBuffer.length()-1; i+=8){

            sBuffer.insert(i + counter, "\n");    //在下標 i + counter 位置處插入換行符

            counter++;  
        } 
            
        s = sBuffer.toString();

        fw.write(s);    //

        fw.flush();
        
    }
    
}