从__中获取字符串的子串

时间:2017-08-02 10:40:03

标签: java string

我想从字符串中提取subString,从__(Double UnderScore)开始直到"(双引号)或找到特殊字符'[](),'

我已经有一段时间了,但无法理解。

例如:输入字符串:"NAME":"__NAME"

必填字符串:__NAME

感谢您的时间。

3 个答案:

答案 0 :(得分:4)

您可以使用此正则表达式(__(.*?))[\"\[\]\(\),]来获取您想要使用的内容:

String str = "\"NAME\":\"__NAME\"";
String regex = "(__(.*?))[\"\\[\\]\\(\\),]";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);

while (matcher.find()) {
    System.out.println(matcher.group(1));
}

<强>输出

__NAME

regex demo

答案 1 :(得分:0)

您可以尝试以下代码

String input="\"NAME\":\"__NAME\"";
int startIndex=input.indexOf("__");
int lastIndex=input.length();
String output=input.substring(startIndex, (lastIndex-1));
System.out.println(output);

答案 2 :(得分:0)

这个解决方案可以帮助你:

import java.util.*;
class test
{
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        String a=s.next();
        int i=a.indexOf("__");
        int j=a.indexOf('"',i);
        System.out.println(a.substring(i,j));
       }
}

首先,我们计算__的索引,然后计算"之后__的索引,然后使用substring方法获得所需的输出。

相关问题