Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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_String - Fatal编程技术网

Java 在检测到元音后拆分字符串

Java 在检测到元音后拆分字符串,java,string,Java,String,我试着把单词分成音节,但是我的语言中的音节(塞斯瓦纳)。音节每次都出现在元音之后,例如在“motho”(意为人称)中,音节是“mo”和“tho”。它们由元音分隔,因此识别元音是一个关键 我需要一个识别元音并拆分单词一部分的代码,每个音节1个元音…这是我到目前为止得到的: public void syllable(String word) { int i=0; int z=0; for (i=i;i<word.length()-1; i++){ cha

我试着把单词分成音节,但是我的语言中的音节(塞斯瓦纳)。音节每次都出现在元音之后,例如在“motho”(意为人称)中,音节是“mo”和“tho”。它们由元音分隔,因此识别元音是一个关键

我需要一个识别元音并拆分单词一部分的代码,每个音节1个元音…这是我到目前为止得到的:

public void syllable(String word)
{
    int i=0;
    int z=0;
    for (i=i;i<word.length()-1; i++){
        char w = word.charAt(i);
        String w1=Character.toString(w);
        if(w=='a'|| w=='e' || w=='i' || w=='o' || w=='u')
        {
            String[] x= word.split(w1,2);

            System.out.println(Arrays.toString(x));
            //z=i;
            continue;
        }
        continue;
    }
}
公共空音节(字符串字)
{
int i=0;
int z=0;

对于(i=i;i而言,这是一个复杂的正则表达式概念,但您要做的是使用正面的后面视图作为分割:

String[] syllables = word.split("(?<=[aeiou])");
更新:关于拆分,从正面看:这一点


Java模式文档的细节很简单,但你想知道

你的问题是什么?我不认为反对者会分享你的兴奋…@JBNizet我在猜测“如何实际匹配元音语句,并在每个检测到的元音后拆分”当你调试这个时,什么方法不起作用?你被卡在哪里了?我想找到元音将是很容易的一部分…确定哪些辅音在元音之间拆分将有点棘手。“如何实际匹配元音语句,并在每个检测到的元音后拆分”是的!我的问题是!当我试图分离像“kamoso”(意思是tommorow)这样的单词时!我没有得到我应该得到的,应该是“ka”“mo”“so”!Zhuinden太好了!谢谢它非常有效!bt你能给我解释一下这个方法是如何工作的吗?我如何将音节放入实际数组?@foxxy String[]parts=音节。split(“,”);System.out.println(Arrays.toString(parts));@foxxy-我的答案中的第一个代码片段完全符合您将音节放入实际数组的要求。。。
public static void main(String[] args) {
    for (String word : new String[]{"Motho", "Botswana"}) {
        System.out.println("Word " + word + " Syllables " 
                + Arrays.toString(word.split("(?<=[aeiou])")));
    }
}