Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java (1ab09cs001)的正则表达式_Java_Regex_Replaceall - Fatal编程技术网

Java (1ab09cs001)的正则表达式

Java (1ab09cs001)的正则表达式,java,regex,replaceall,Java,Regex,Replaceall,我想在java中将字符串(即主题名称和主题代码的组合)分成两部分。 原始字符串可以是任何内容,如“ABC(01dfv)”、“BCD(sdfsd)等。。。 主题代码总是以()书写,主题名称总是以括号为前缀。 示例: String originalString = "Computer Science (06cs43)" String subjectName="Computer Science" String subjectCode="06cs43" 我正在使用string.replaceAll,但

我想在java中将字符串(即主题名称和主题代码的组合)分成两部分。 原始字符串可以是任何内容,如“ABC(01dfv)”、“BCD(sdfsd)等。。。 主题代码总是以()书写,主题名称总是以括号为前缀。 示例

String originalString = "Computer Science (06cs43)"
String subjectName="Computer Science"
String subjectCode="06cs43"
我正在使用string.replaceAll,但无法找到用于提取或替换主题代码的正则表达式


主题代码的大小不是固定的。

只需使用followinf regex进行尝试:

"^([^(]+) \\(([^)]+)\\)$"
或者更好:

String originalString = "Computer Science (06cs43)";

String[] parts = originalString.split("\\(");

String subjectName = parts[0].trim();
String subjectCode = null;
if (parts.length > 1) {
    subjectCode = parts[1].replaceAll("\\)$", "");
}

只需使用以下INF正则表达式即可:

"^([^(]+) \\(([^)]+)\\)$"
或者更好:

String originalString = "Computer Science (06cs43)";

String[] parts = originalString.split("\\(");

String subjectName = parts[0].trim();
String subjectCode = null;
if (parts.length > 1) {
    subjectCode = parts[1].replaceAll("\\)$", "");
}

这里不需要使用正则表达式。你可以这样做

String orS="Computer Science (06cs43)";
String subjectName=orS.subString(0,orS.indexOf('(')-1);
String subjectCode=orS.subString(orS.indexOf('('),orS.length()-2)

这里不需要使用正则表达式。你可以这样做

String orS="Computer Science (06cs43)";
String subjectName=orS.subString(0,orS.indexOf('(')-1);
String subjectCode=orS.subString(orS.indexOf('('),orS.length()-2)

如果字符串总是
“Computer Science(06cs43)”
,为什么需要正则表达式?或者是否?那么请描述名称和代码的格式,从中生成可用的正则表达式。为什么不简单地在WS上拆分,这里不需要正则表达式…如果字符串总是
“Computer Science(06cs43),为什么需要正则表达式“
?还是没有?然后请描述名称和代码的格式,从中生成一个可用的正则表达式。为什么不简单地在WS上拆分,这里不需要正则表达式…这对我来说非常好。这是我关于stackoverflow和thanx@usama8800的第一个问题,它纠正了逻辑,使之更容易。这对我来说非常有效。这是我关于stackoverflow和thanx@usama8800的第一个问题,它纠正了逻辑,使操作更简单。