给定一个字符串,计算以'y'
或'z'
结尾的字数——所以“重”中的'y'
和“fez”中的'z'
计数,但不是“黄色”中的'y'
(不区分大小写)。如果单词后面没有字母,我们会说y
或z
在单词的末尾。(注意:Character.isLetter(char)
测试char是否是字母。)
例如,
countYZ("fez day") → 2
countYZ("day fez") → 2
countYZ("day fyyyz") → 2
countYZ("day yak") → 1
countYZ("day:yak") → 1
countYZ("!!day--yaz!!") → 2
但我在这些案例中失败了:
countYZ("fez day") → should be 2 but Im getting 1
countYZ("day fez") → should be 2 but Im getting 1
countYZ("day fyyyz") → should be 2 but Im getting 1
smb能看看我的代码有什么问题吗?提前感谢!
public int countYZ(String str) {
int count = 0;
for(int i = 0; i < str.length()-1; i++){
if((str.charAt(i) == 'y' || str.charAt(i) == 'z')
&& !(Character.isLetter(str.charAt(i + 1)))){
count++;
}
}
return count;
}
此代码适用于此任务:
public int countYZ(String str) {
int counter;
String regex = "[YyZz](?!\\p{IsAlphabetic})";
java.util.regex.Pattern yzEnd = java.util.regex.Pattern.compile(regex);
java.util.regex.Matcher matcher = yzEnd.matcher(str);
for (counter = 0; matcher.find(); counter++);
return counter;
}
p{IsAlphabetic}与字符p{Isalphabettic}字面匹配(区分大小写)
由于您使用<code>regex
public int countYZ(String str) {
Matcher m = Pattern.compile("[yz]\\b").matcher(str);
int count = 0;
while (m.find())
count++;
return count;
}
这里,表达式"[yz]\\b"
表示"y或z,后跟单词边界",即只要单词末尾有y或z,它就匹配。只需计算匹配项。
你需要包括单词在字符串末尾的逻辑。
这就是问题所在:给定一个字符串,计算以“y”或“z”结尾的单词的数量——因此“重”中的“y”和“fez”中的'z”都会计数,但“黄色”中的‘y’不会计数(不区分大小写)。如果一个单词后面没有一个字母,我们会说一个y或z在单词的末尾。(注意:Character.islet(char)测试char是否为字母。) 这是我的代码: 我知道这很混乱,但我只是想弄清楚为什么现在不行。每次运行都返回“0”。在i
问题内容: 我认为我已经很好地理解了这一点,但我认为该陈述是错误的。怎么说包含空格,加1。 编辑: 我发现(感谢Blender)可以用更少的代码来做到这一点: 问题答案: 使用方括号,而不是括号: 或: 您也可以使用:
当读取文件时,将关键字flagstop、wb、nb、sb、eb从名称的开头移动到停止名称的结尾,例如“wb HASTINGS ST FS HOLDOM AVE”变为“HASTINGS ST FS HOLDOM AVE wb”。 到目前为止,我已经获得了如下所示的读取文件的代码,但我不确定如何将数组中的字符串关键字移动到字符串的结尾,给出了上面所示的条件。我需要能够移动第一个字在停止[2]如果它是上
问题内容: 我是Java字符串的新手,问题是我想计算字符串中特定单词的出现次数。假设我的字符串是: 现在,我也不想拆分它,所以我想搜索一个“雄猫”这个词。它在我的字符串中出现了两次! 我正在尝试的是: 它给了我46个计数器的价值!那么解决方案是什么? 问题答案: 您可以使用以下代码: 演示版 它匹配。 表示在找到匹配项时执行循环内给出的任何操作。并且我将by 的值递增,因此很显然,这给出了一个字符
有人能帮我写代码吗?如何在字符串文本中搜索单词,此单词以“.”结尾java中的“或” 我不想这样搜索来找到它
我必须在数据库中找到所有有模式的记录。如果字段中的任何单词以特定字符串结尾。比如“is”: 所以像%is%或%is这样的简单操作是无效的。有没有什么正则表达式可以帮我做这件事?我也可以在PHP中使用LIKE%is%和filtring获得所有记录,但仍然没有任何线索如何。我有结束字符串的解决方案,但没有单词。