Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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 如何仅匹配行中第一次出现的空格_Java_Regex - Fatal编程技术网

Java 如何仅匹配行中第一次出现的空格

Java 如何仅匹配行中第一次出现的空格,java,regex,Java,Regex,我被困在一个很简单的步骤上 我同意以下文字[[StandardsEnterprise GXS Enterprise]] 并希望用管道(“|”)替换第一个空间 找不到空间的select only的正则表达式 或者,问题可能出在Java代码上。 我在SAG WebMethods中使用java,包括以下内容: IDataCursor pipelineCursor = pipeline.getCursor(); String regex = IDataUtil.getString(pip

我被困在一个很简单的步骤上

我同意以下文字
[[StandardsEnterprise GXS Enterprise]]
并希望用管道(“|”)替换第一个空间 找不到空间的select only的正则表达式

或者,问题可能出在Java代码上。 我在SAG WebMethods中使用java,包括以下内容:

    IDataCursor pipelineCursor = pipeline.getCursor();
    String regex = IDataUtil.getString(pipelineCursor, "regex");
    String input = IDataUtil.getString(pipelineCursor, "input");
    String replacement = IDataUtil.getString(pipelineCursor, "replacement");
    pipelineCursor.destroy();

    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(input);
    String output = matcher.replaceAll(replacement);

    ....
.replaceAll
方法不存在问题吗?不是在输入字符串上重复应用正则表达式吗

你有什么简单的建议吗

非常感谢
Reddy

您只需通过管道更换一次空间

使用regex是一件非常简单的事情,如下所示:

\s+

根据您使用的语言,您可以

PHP

JAVASCRIPT

var re = /\s+/; 
var str = '[[StandardsEnterprise GXS Enterprise]]';
var subst = '|'; 

var result = str.replace(re, subst);
蟒蛇

import re
p = re.compile(ur'\s+')
test_str = u"[[StandardsEnterprise GXS Enterprise]]"
subst = u"|"

result = re.sub(p, subst, test_str)
爪哇


你好,联邦快递,非常感谢你的回复。我正在使用Java服务。我会详细说明这个请求。@ReddySK很好,很乐意帮助。
import re
p = re.compile(ur'\s+')
test_str = u"[[StandardsEnterprise GXS Enterprise]]"
subst = u"|"

result = re.sub(p, subst, test_str)
String result = "[[StandardsEnterprise GXS Enterprise]]".replaceFirst("\\s+", "|");
System.out.println(result);
// Prints:
// [[StandardsEnterprise|GXS Enterprise]]