当前位置:  技术问答>java相关

怎样比较String中的部份是否相等?

    来源: 互联网  发布时间:2015-04-02

    本文导语:  我有四个String  "person1,chinese", "persona12,british", "persona113,american", "person2224,chinese", 我想比较一下这四个string中,有几个人来自相同的国家。charAt和compareto在这里都不好用,因为每个String中第一个单词的字数都不一样。...

我有四个String 
"person1,chinese",
"persona12,british",
"persona113,american",
"person2224,chinese",
我想比较一下这四个string中,有几个人来自相同的国家。charAt和compareto在这里都不好用,因为每个String中第一个单词的字数都不一样。用什么办法可以把String中的每个单词给分开,然后在比较。

谢谢

|
1. create a Hashtable which maps String to a Vector
2. split the Strings into two parts, person, country, use the country as a key to add the person to the Vector
3. iterate through the keys (countries) of the HashTable, write out the names

here is a sample implementation (TestPerson.java):

import java.util.*;

public class TestPerson
{
   public static void main(String[] args)
   {
String[] people = {"person1,chinese", "persona12,british","persona113,american","person2224,chinese"};

Hashtable ht = new Hashtable();
String person, country;
int i;
Vector v;

for (i=0; i =0)
{
person = people[i].substring(0,n);
country = people[i].substring(n+1);

if (!ht.containsKey(country))
{
v = new Vector();
ht.put(country,v);
}

v = (Vector) ht.get(country);
v.add(person);
}
}

for (Enumeration e = ht.keys() ; e.hasMoreElements() ;) 
{
country = (String)e.nextElement();

System.out.print("The following people are " + country + ":");

v = (Vector)ht.get(country);

for (i=0; i  0? ",":"") + v.get(i));

System.out.println();
         
      }
 
   }
}

|
StringTokenizer


     StringTokenizer st = new StringTokenizer("persona12,british", ',");
         println(st.nextToken());
     
 

|
或者用String.indexOf()

|
you can use lastIndexOf method

it return the position of the last occurrence of str within this string...     example string t1="person1 china";  t1.lastIndexOf("china")  you get it

|
可以先用String.indexOf()找出","的位置
然后找","之后的子串  进行比较


|
只要每个String里都会有逗号作为分割符,事情就好办(用IndexOf()或lastIndexOf()都行)

    
 
 

您可能感兴趣的文章:

  • JAVA可以真正实现实数的相等比较吗?
  • java 的float里0.04+0.01=0.4999997!=0.5我怎么比较相等阿!
  • JSP中用于比较相等的equals方法,请指教!
  • 看看会输出什么?结果是equal b,==在string里不是比较两个串是不是相等嘛?
  • sockaddr和sockaddr_in如何进行比较相等
  • 比较两个字符串是否相等的shell代码
  • 我是想检查读出的字节和下一字节是不是相等,但从现在的输出来看,它输出的每一个字节都是显示 [B@77d134 ,如何进行字节的比较,用这种
  • 任何比较两个StringBuffer对象是否相同
  • jsp程序员是否有前途,如果没有,往那方面发展比较好!
  • 请教如何比较两个文件夹下所有子目录里的文件是否一样?
  • Java中如何比较两个数组中元素是否相同
  • 请问:怎么比较string"0012"跟0012是否匹配呀?
  • mysql 判断记录是否存在方法比较
  • mysql中判断记录是否存在方法比较
  • 怎样用JAXP高效的比较两个XML文档是否内容相同?急!!有价值必给分!!!
  • 请问一下。如何比较两个字符串是否相同,如果a="123",b="123 "那么他们两个等不等呀?
  • automake生成的可执行文件是否体积会比较大?
  • fc如何比较两盘符下所有文件的内容是否相同
  • 比较2个datatable内容是否相同的方法
  • SQL 比较一个集合是否在另一个集合里存在的方法分享
  • sqlserver中比较一个字符串中是否含含另一个字符串中的一个字符
  • java使用计算md5校验码方式比较两个文件是否相同
  • shell字符串比较判断是否为数字
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于String 比较的一个问题
  • String a=request.getParameter(???);的这个问题比较复杂......
  • C++ Maps 成员 key_comp():返回比较元素key的函数
  • 你们看是不是可以这样理解:在用来进行两个对象的比较时,==操作符用来比较两个对象的引用地址,而equals()用来比较两个对象的值。
  • C++ Maps 成员 value_comp():返回比较元素value的函数
  • 问一下,现在比较新比较好的MYSQL版本和JDBC版本
  • C++ MultiMaps 成员 key_comp():返回比较key的函数
  • SOCKET 比较是在比较什么 急
  • C++ MultiMaps 成员 value_comp():返回比较元素value的函数
  • 问一个比较简单的问题 frame 的 setSize()放在那里比较合适
  • C++ Double Ended Queues(双向队列) 成员 Operators:比较和赋值双向队列
  • 大家推荐一下有关LINUX7有关的网络编程的书。最好是比较全面的!比较经典的。
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 用java读一个比较大的文本文件(几百k~几M)怎么才能比较快?
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • "400分给有比较好的字符串比较的算法的朋友"要结帖,想做笔迹保留的不可漏看哦
  • C++ Strings(字符串) 成员 compare():比较两个字符串
  • arm-linux-gcc 在哪下载比较好,历史版本比较齐?
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 问一个比较简单的问题 请不要见笑 frame 的 setVisible()放在那里比较合适?
  • C++ Bitsets 成员 Operators:比较和赋值bitsets
  • 在JSP中用session比较好?还是cookie比较好?因为什么?
  • STL vector+sort排序和multiset/multimap排序比较
  • 请大家帮忙推荐几款linux下比较好用的看jpeg图和看mpeg4比较好用的软件!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3