Java 从中的字符串获取子字符串__

Java 从中的字符串获取子字符串__,java,string,Java,String,我想从字符串中提取子字符串,从双下划线开始,直到找到双引号或特殊字符“[]” 我已经做了一段时间了,但还没弄明白 例如:输入字符串:名称:\名称 必需的字符串:\名称 谢谢您的时间。您可以使用此正则表达式[\\[\]\\,]来获取您想要的内容,您可以使用: String str = "\"NAME\":\"__NAME\""; String regex = "(__(.*?))[\"\\[\\]\\(\\),]"; Pattern pattern = Pattern.compile(regex)

我想从字符串中提取子字符串,从双下划线开始,直到找到双引号或特殊字符“[]”

我已经做了一段时间了,但还没弄明白

例如:输入字符串:名称:\名称

必需的字符串:\名称

谢谢您的时间。

您可以使用此正则表达式[\\[\]\\,]来获取您想要的内容,您可以使用:

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));
}
输出


您可以尝试以下代码

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

希望此解决方案能帮助您:

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));
       }
}

本文首先计算uuu的指数,然后计算后uu的指数,然后使用子串方法得到期望的输出

一,。找到u2的位置。从该位置删除子字符串。3.在新字符串中:查找的位置。4.子字符串直到那个位置我认为@ParkerHalo的算法描述了一个更好的解决方案。。。
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));
       }
}