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_Location - Fatal编程技术网

使用java从包含完整地址的给定字符串中选择城市和国家

使用java从包含完整地址的给定字符串中选择城市和国家,java,string,location,Java,String,Location,我正在编写一个代码,希望用户提供长度未知的字符串。。假设他提供了一根绳子。。现在我想让城市和国家出现在这串。。。 如果有人有更好的想法,请按照您的要求分享..,您必须建立一个案例,在该案例中,您需要定义所有可能的城市或国家,如Array city=new Array[美国、英国、中国、缅甸];之后,现在循环数组,然后从索引0中读取用户定义的行,每次在循环中移动字符点+1do,将其转换为字符串,然后搜索城市模式以与字符字符串匹配。由于您的需求,您的程序复杂性将越来越高,我认为您的复杂性将提高到On

我正在编写一个代码,希望用户提供长度未知的字符串。。假设他提供了一根绳子。。现在我想让城市和国家出现在这串。。。
如果有人有更好的想法,请按照您的要求分享..

,您必须建立一个案例,在该案例中,您需要定义所有可能的城市或国家,如Array city=new Array[美国、英国、中国、缅甸];之后,现在循环数组,然后从索引0中读取用户定义的行,每次在循环中移动字符点+1do,将其转换为字符串,然后搜索城市模式以与字符字符串匹配。由于您的需求,您的程序复杂性将越来越高,我认为您的复杂性将提高到On*n,这对内存不好。
在我看来,您应该要求用户一步一步地获取实际需求,如输入City:\u然后输入Country:\u最好处理字符串。祝您好运

在这个问题中,您从未指定输入字符串的格式,但假设格式为city,country,则此操作有效

String s = "the name of a city, the name of a country";
String city = s.substring(0, s.indexOf(", "));
String country = s.substring(s.indexOf(", ") + 2);
System.out.println("City = " + city);
System.out.println("Country = " + country);

你的问题很有趣。您现在编写的程序取决于逻辑,我认为没有这样的jar文件可用于获取解决方案。最好手动获取解决方案。你有没有想过字典程序。大多数字典中的单词都写在文本文件中,在运行时,程序将这些单词加载到数组或其他集合中。通过这种方式,您还可以在运行时将文件加载到2D数组或集合中。通常使用HashMap。因此,您可以扫描文件并加载它 例如:

印度阿格拉

英国伦敦

缅甸仰光

日本东京

等等

`弦线

FileInputStream fstream = new FileInputStream(dataFile);

//dataFile is your file directory

DataInputStream in = new DataInputStream(fstream);

BufferedReader br = new BufferedReader(new InputStreamReader(in)); 

HashMap<String,String> divideCityCountry =new HashMap<String,String>();

while((line=br.readLine())!=-1)

{

String[] lineSplit = line.split(",");//use the ',' as delimiter 

divideCityCountry.put(lineSplit[0], lineSplit[1]);

} ` 
现在,您可以在divideCityCountry HashMap中查看或获取城市和国家。
希望这会有帮助。祝你好运

发布代码、输入字符串和输出字符串。。只有到那时我们才能帮上忙如果有人对你有更好的想法?你能给我们看一下吗?让城市和国家出现在这个字符串中到底是什么??你试过什么?我还没有写任何代码。。我的想法是,我将提供一个字符串,就像我的名字是Ankit Kumar一样。我住在班加罗尔的一个地方。我的地址是印度班加罗尔Banashankari layout第五大道第三十字路口XYZ公寓30号。。。。所以从给定的字符串中,我想得到city=Bangalore和Country=India。。我可以提取模式匹配,但如果地址将改变其他城市比我将如何提取。。。基本概念是,我将用不同的地址给出不同的字符串。。现在我不知道怎么去城市和国家。谢谢你。。但事实并非如此。。实际上,所有的字符串都预先存在于一个文件中,所以不能要求任何人手动输入城市和国家。。程序应该逐个读取所有可用字符串,并从这些字符串中获取城市和国家。。为了制作一个数组,不可能制作一个可以包含世界上所有城市名称的数组。。我认为世界上大约有300个国家。。因此,所有国家的排列在某种程度上是可能的,但在城市的情况下是不可能的。。有没有办法使用谷歌API或其他方法来完成这项任务?有没有可能通过使用任何可用的类或API只找到国家?谢谢codewiz:但它将如何从字符串中pic s=我的地址是30,XYZ公寓,第三十字路口,第五大道,班加罗尔,印度。实际上,城市可能会在任何位置出现。。意思是它可能像我上面的评论一样。如果没有指定的格式,你需要输入一个所有有效城市的列表,并检查是否在字符串中的任何地方找到它们。