在我的SQL Server中有一个PATINDEX
函数。例如:
patindex('%[^A-Z,^a-z,^0-9,^\,^_]%', SqlInstanceName)
这将返回第一个字符的string
索引位置,该字符不在A-Z中,不在a-z中,不在0-9中,NOT =' \' (反斜杠)和NOT =' _' (下划线)。
我想在Java 1.6 / 1.7中使用Regex或使用任何内置的Java库方法执行相同的操作。
答案 0 :(得分:3)
在Java中你可以这样做:
Pattern p = Pattern.compile("[^\\w\\\\]");
Matcher m = p.matcher(input); // input is your String
if (m.find())
System.out.println(m.start()); // start position of your match
答案 1 :(得分:0)
谢谢大家! 使用上面的提示我写了这个Java代码,它似乎对我有用:
// start code fragment
Pattern pattern = Pattern.compile("([a-zA-Z0-9_\\\\]*)");
Matcher matcher = pattern.matcher(inputString);
if (matcher.find())
{
inputString = matcher.group(1);
}
// end code fragment
非常感谢!