springboot去掉字符串转义字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot去掉字符串转义字符相关的知识,希望对你有一定的参考价值。

参考技术A SpringBoot版本为 2.2.5release(不同版本的解决方式可能不同)。

实际解决方式(针对于使用SpringBoot内置的Tomcat):添加下面的配置Bean。

/**
* 配置转义字符,解决当请求路径中特殊字符,高版本tomcat解析失败的问题
*/
@Bean
public ServletWebServerFactory webServerFactory()
TomcatServletWebServerFactory fa = new TomcatServletWebServerFactory();
fa.addConnectorCustomizers(connector ->
connector.setProperty("relaxedQueryChars", "(),/:;<=>?@[\\]");
connector.setProperty("rejectIllegalHeader", "false");
);
return fa;

(该内容只是用于记录,具体是否有效没有测试过)如果你不是使用SpringBoot的tomcat启动项目,那你就需要在tomcat的配置文件中添加以下配置信息,并重新启动。

org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
 

 

C# 如何去掉string中所有转义字符(特殊符号)?

例如,"\b\0\0XXXX-AP\0\0\0\0\0\0"。取其中转义字符以外的部分(即XXXX-AP部分),该怎么取?转义字符的位置不能确定,种类也不固定。

PS:以上string是从byte[]转换来的。也可以在byte[]那一步下手。
byte[] ssid = (byte[])mo["Ndis80211SsId"];
string ssidString = Encoding.ASCII.GetString(ssid);

1、去掉字符串中的转义等特殊字符:

stringinputString=@”helloworld]\\“;

StringBuildersb=newStringBuilder();

string[]parts=inputString.Split(newchar[]’‘,‘\\n’,‘\\t’,‘\\r’,‘\\f’,‘\\v’,’\\’,StringSplitOptions.RemoveEmptyEntries);

intsize=parts.Length;

for(inti=0;i<size;i++);

sb.AppendFormat(“0“,parts[i]);

2、删除字符串头尾的转义等特殊字符串:

使用SubString和Remove来操作

比如去掉结尾的转义字符,可以使用

inputString.SubString(0,inputString.Length-1);

inputString.SubString(0,inputString.Length-2);

inputString.SubString(0,inputString.Length-3);

扩展资料

C#字符串取消转义字符的转义作用,使其正常显示

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Windows.Forms;

namespacetest1

publicpartialclassForm2:Form

publicForm2()

InitializeComponent();

privatevoidbutton1_Click(objectsender,EventArgse)

stringstr=@"D:\\document\\test.txt";

stringstr1="D:\\\\document\\\\test.txt";

MessageBox.Show(str+"---"+str1);

参考技术A using System.Linq;

string st = "\b\0\0XXXX-AP\0\0\0\0\0\0";
string s = new string((from c in st.ToCharArray() where char.IsControl(c) select c).ToArray());本回答被提问者和网友采纳
参考技术B string st = "\b\\\0\0XXXX-AP\0\0\0\0\0\0";
st = st.Trim(new char[] '\'', '\"', '\\', '\0', '\a', '\b', '\f', '\n', '\r', '\t', '\v' );
参考技术C -----------
-----------
这个我估计必须得把所有的转义字符先存起来,
然后再一个个来比较

以上是关于springboot去掉字符串转义字符的主要内容,如果未能解决你的问题,请参考以下文章

C# 如何去掉string中所有转义字符(特殊符号)?

SpringBoot Yaml 配置 特殊字符转义

如何在js中去掉json数据中的转义附

PHP函数PHP 去掉字符串中的转义符号

请教JAVA转义字符

C# 去掉webapi返回json所带的转义字符