我陷入了也许非常简单的一步。
我在下面的文字中一行,[[StandardsEnterprise GXS Enterprise]]
并想用竖线(“ |”)替换第一个空格。找不到仅用于选择空格的正则表达式。
或者,也许问题出在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
您只需要用管道替换一次即可。
使用正则表达式是一件非常简单的事情,例如:
\s+
根据您使用的语言,您可以...
的PHP
textpop-up
$re = "/\\s+/";
$str = "[[StandardsEnterprise GXS Enterprise]]";
$subst = '|';
$result = preg_replace($re, $subst, $str, 1);
JAVASCRIPT
var re = /\s+/;
var str = '[[StandardsEnterprise GXS Enterprise]]';
var subst = '|';
var result = str.replace(re, subst);
PYTHON
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]]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句