gpt4 book ai didi

java - Java中字符串匹配方法获取以指定字母开头的单词

转载 作者:行者123 更新时间:2023-12-02 06:32:26 24 4
gpt4 key购买 nike

我正在使用 ArrayList 来保存字符串列表,并且我正在迭代 ArrayList 并尝试返回以字符串(用户输入)开头的单词。

我的代码:

private void doP( ArrayList <String> words, String cmd3 )
{
for( int i = 0; i < words.size(); i++ )
{
if( words.get( i ).matches( cmd3 + "(.*)" ))
{
tempString.add( words.get( i ));
System.out.println( "H:" + words.get( i ));
}
}

System.out.println( tempString );

如果我将 ( cmd3 + "(.* )") 替换为 ( "th(.*)"),则代码可以正常工作。我认为这里的问题是格式,我真的无法弄清楚。

抱歉使用非描述性术语,我两个月前才开始编程......

TLDR;

if( words.get( i ).matches( cmd3 + "(.*)" ))

这就是问题所在,特别是 ( cmd3 + (.* ))。我的逻辑是,用户在末尾输入的任何字符串(.*)都应该有效,例如,如果用户输入“ABCD”,那么我应该:

if( words.get( i ).matches( "ABCD(.*)" ))

谢谢!

PS:startsWith() 方法完成了这项工作,这对我来说是一个非常小的错误。感谢所有回答的人。

最佳答案

根据您的描述,您似乎正在尝试重新发明 startsWith方法。

也许可以尝试一下

if( words.get(i).startsWith(cmd3))

关于java - Java中字符串匹配方法获取以指定字母开头的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com