如何在java中的字符串字符的两边添加空格?
例如,假设字符串为“s_id=5 and s_name!=6
”,如果我想在=
的两边添加空格,则输出字符串将类似于“s_id = 5 and s_name!=6
”
我正在尝试使用replace和contains方法......
我检查if(str.contains("="))
然后将其替换为(" = "
),但它也为!=
添加了空间。
答案 0 :(得分:1)
使用正则表达式:
s = s.replaceAll("(?<![><!+-])[=]", " = ");
在正则表达式的方括号之间放置您不想要的字符=
。答案中的表达式忽略+=
,-+
,<=
,<=
和!=
。
答案 1 :(得分:1)
value = value.replaceAll("([$_\\d\\w])([^$_\\d\\w]+)", "$1 $2")
.replaceAll("([^$_\\d\\w]+)([$_\\d\\w])", "$1 $2")
.replaceAll("\\s+", " "))
此代码将向任何运算符添加分隔符,并删除不必要的空格。
s_id=5 and s_name!=6
将成为s_id = 5 and s_name != 6
考虑到变量可以由 $ _ 数字或字母
组成答案 2 :(得分:0)
您可以使用replaceAll()
类中的String
方法来帮助实现此目标
示例:
final String spacedEquals = " = ";
String s = "s_id=5 and s_name!=6";
//this will add a space on either side of the '='
s.replaceAll("=", spacedEquals);
希望这会有所帮助
答案 3 :(得分:0)
尝试这种方法
private String replace( String str, String pattern, String replace )
{
int s = 0;
int e = 0;
StringBuffer result = new StringBuffer();
while ( (e = str.indexOf( pattern, s ) ) >= 0 )
{
result.append(str.substring( s, e ) );
result.append( replace );
s = e+pattern.length();
}
result.append( str.substring( s ) );
return result.toString();
}