如何从字符串中获取多个子字符串

时间:2015-12-07 22:06:25

标签: java

我有一个字符串可能如下所示:

searchText = search:kind:(reports) unit.id:(("CATS (WILLIAMS)"~1) OR ("DOGS (JAMES)"~1)) 

我需要访问引号中可能存在的任何值,因此在这种情况下它将是:

CATS (WILLIAMS)DOGS (JAMES)

我不知道如何使用indexOf和subString来获取文本字符串,因为它们依赖于整数值...有人能告诉我一些如何做到这一点的例子吗?感谢

确定了基础知识,但我需要它来提取“”中的每个值,而不仅仅是第一个实例。下面接受该值然后将名称转换为id然后用id替换名称,但只有第一个实例。

       String unitIdStart = "\"";
       String unitIdEnd = "\"~";

       int unitIdStartIndex = searchText.indexOf(unitIdStart);
       if( unitIdStartIndex != -1 ) {
           int unitIdEndIndex = searchText.indexOf(unitIdEnd, unitIdStartIndex);
           if( unitIdEndIndex != -1 );
           {

               String unitName = searchText.substring(unitIdStartIndex+1, unitIdEndIndex);
               Unit backToId = UnitRepository.getIdFromName(unitName);
               String unitId = backToId.getId().toString();

               String searchTextWithUnitId = searchText.replace(unitName, unitId);

0 个答案:

没有答案