Java (1ab09cs001)的正则表达式
我想在java中将字符串(即主题名称和主题代码的组合)分成两部分。 原始字符串可以是任何内容,如“ABC(01dfv)”、“BCD(sdfsd)等。。。 主题代码总是以()书写,主题名称总是以括号为前缀。 示例: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,但
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的第一个问题,它纠正了逻辑,使操作更简单。