Java 如何删除第一次出现的特定字符周围的空白?

Java 如何删除第一次出现的特定字符周围的空白?,java,string,char,whitespace,Java,String,Char,Whitespace,如何删除特定字符前后的空格?我还希望仅删除第一次出现的特定字符周围的空格。在下面的示例中,我想删除第一次出现=之前和之后的空格 例如,对于这些字符串: something = is equal to = something something = is equal to = something something =is equal to = something 我需要得到这个结果: something=is equal

如何删除特定字符前后的空格?我还希望仅删除第一次出现的特定字符周围的空格。在下面的示例中,我想删除第一次出现
=
之前和之后的空格

例如,对于这些字符串:

something =           is equal to   =   something
something      =      is equal to   =   something
something      =is equal to   =   something
我需要得到这个结果:

something=is equal to   =   something

是否有任何正则表达式可以使用,或者是否应该检查第一次出现的字符的索引?

您可以使用正则表达式
\w*\s*=\s*
获取所有匹配项。从那里调用匹配数组中第一个索引的trim


请注意,这将匹配所有空格,包括制表符和新行,而不仅仅是空格。

是-您可以创建一个正则表达式,该正则表达式匹配可选空格,后跟模式,后跟可选空格,然后替换第一个实例

publicstaticstringreplacefirst(finalstringtomatch,finalstringforip){
//要在前后匹配的字符串
引用的最终字符串=Pattern.quote(toMatch);
最终模式patt=Pattern.compile(“\\s*”+引号+“\\s*”);
最终匹配器匹配=零件匹配器(forIP);
返回match.replaceFirst(toMatch);
}
对于您的输入,这将给出预期结果-假设toMatch为
=
。它也适用于任意较大的事物-例如。。想象一下,给予“等于”而不是。。。得到

something =is equal to=   something
对于简单的情况,您可以忽略引用,对于任意情况,它会有所帮助(尽管 这种模式并不适用于所有情况)

这样,简单的情况就变得简单了

返回forIP.replaceFirst(\\s*“+forIP+“\\s*”,forIP);

返回forIP.replaceFirst(\\s*=\\s*,“=”);
something =is equal to=   something