Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java将波斯语日期数字拆分成单词_Java_Regex_Date_Numbers_Words - Fatal编程技术网

用Java将波斯语日期数字拆分成单词

用Java将波斯语日期数字拆分成单词,java,regex,date,numbers,words,Java,Regex,Date,Numbers,Words,我想把波斯语日期数字从java中的单词中分离出来。 我的琴弦像:۰۱/۰۷/۱۳۹۵سعید 我搜索的太多了,但我找不到合适的,这对我来说很有用!! 此外,日期格式可能完全错误,将单词和数字分开很重要 我想做一些事情,比如说,这是我的解决方案。它会根据您的请求向字符串中添加空格。在我的主要方法中,我将输入作为输入,并在控制台上打印 public class StringPadder { private static final String BETWEEN_NUMBER_AND_LET

我想把波斯语日期数字从java中的单词中分离出来。 我的琴弦像:۰۱/۰۷/۱۳۹۵سعید

我搜索的太多了,但我找不到合适的,这对我来说很有用!! 此外,日期格式可能完全错误,将单词和数字分开很重要


我想做一些事情,比如说,这是我的解决方案。它会根据您的请求向字符串中添加空格。在我的主要方法中,我将输入作为输入,并在控制台上打印

public class StringPadder {

    private static final String BETWEEN_NUMBER_AND_LETTER = "(?<=\\p{IsDigit})(?=\\p{IsAlphabetic})";
    private static final String BETWEEN_LETTER_AND_NUMBER = "(?<=\\p{IsAlphabetic})(?=\\p{IsDigit})";

    public static String addSpaces(String toPad) {
        return toPad.replaceAll(BETWEEN_NUMBER_AND_LETTER, " ").replaceAll(BETWEEN_LETTER_AND_NUMBER, " ");
    }

    public static void main(String[] args) {
        String toTest =  "سعید۰۱/۰۷/۱۳۹۵سعید";
        System.out.println(addSpaces(toTest));

    }
}
这是通过一些正则表达式技巧实现的

表达式\p{IsDigit}匹配任何字母表中的数字;所以不仅仅是0-9,还有阿拉伯/波斯数字,德瓦纳加里数字等等。 表达式\p{IsAlphabetic}匹配任何字母表中的字母;所以不仅仅是A-Z和A-Z,还有阿拉伯/波斯字母和其他字母。
当你看到的时候?你是想把所有的数字和相邻的字母分开吗?或者只是以日/月/年格式作为日期一部分的数字?另外,将波斯语日期写为年/月/日不是更常见吗?我想将所有数字分开,但在本例中是日期,所以我很欣赏这个解决方案。是的,这是常见的,但我必须使用这种格式的日期