【问题标题】:Java String Tokenize from backwardsJava String Tokenize 从向后
【发布时间】:2013-03-08 08:42:09
【问题描述】:

我有一个字符串

ContactPerson.BusinessPartner.name1,ContactPerson.BusinessPartner.name2,ContactPerson.fullname

这里我需要根据逗号来打断字符串,我已经做到了

ContactPerson.BusinessPartner.name1
ContactPerson.BusinessPartner.name2
ContactPerson.fullname

但我需要从最后再次标记化,即我需要提取 name1 并应将其存储为与 Businesspartner 相对应。名称 2 的大小写相同。它应与 Busineespartner 相对应地存储。对于全名,我还应该提取全名并将其存储到相应的联系人。所以我需要将字符串从我首先遇到 (.) 的位置向后拆分,并且应该将字符串分成两部分并存储与之前的字符串相对应的字符串。我举的例子很简单。通常我们得到 ​​p>

类似的字符串 Contactperson.Customer.Company.Businesspartner.name1 等 所以 name1 应该对应地存储到业务伙伴。 任何人都可以帮助我如何做到这一点吗?

【问题讨论】:

标签: java string


【解决方案1】:

你可以像这样得到最后的部分:

String input = "ContactPerson.BusinessPartner.name1,ContactPerson.BusinessPartner.name2,ContactPerson.fullname";
String[] parts = input.split(",");
for (String part : parts) {
    String[] subparts = part.split("\\.");
    String last = subparts[subparts.length - 1];
}

last 然后将包含name1name2、...

详情请见String.split()

【讨论】:

    【解决方案2】:

    试试

        String s = "ContactPerson.BusinessPartner.name1";
        String name = s.replaceAll(".+\\.([^.]+)", "$1");
    

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2018-08-02
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多