可以通过使用正则表达式来实现这个需求。以下是一个示例代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        String str = 'abc汉字efg';
        String result = extractPrefix(str);
        System.out.println(result);
    }

    public static String extractPrefix(String str) {
        String regex = '(.*?)([一-龥]+)';
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(str);

        if (matcher.find()) {
            return matcher.group(1);
        } else {
            return str;
        }
    }
}

运行上述代码,输出结果为:'abc'。代码中使用正则表达式'(.?)([一-龥]+)'来匹配汉字前面的内容。其中'.?'表示匹配任意字符零次或多次,非贪婪模式;'[一-龥]+'表示匹配一个或多个汉字。'matcher.group(1)'返回第一个括号中匹配到的内容,即汉字前面的内容。如果没有找到汉字,直接返回原字符串。

Java 字符串截取:提取汉字前缀

原文地址: https://www.cveoy.top/t/topic/qmQi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录