在.NET中,String.Empty和之间的区别是什么"",它们是可互换的,还是存在一些基本的参考或本地化问题,这些问题String.Empty将确保不是问题?
我想从字符串中删除所有特殊字符.允许的字符是AZ(大写或小写),数字(0-9),下划线(_)或点号(.).
我有以下,它有效,但我怀疑(我知道!)它不是很有效:
public static string RemoveSpecialCharacters(string str)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
if ((str[i] >= '0' && str[i] <= '9')
|| (str[i] >= 'A' && str[i] <= 'z'
|| (str[i] == '.' || str[i] == '_')))
{
sb.Append(str[i]);
}
}
return sb.ToString();
}
Run Code Online (Sandbox Code Playgroud)
最有效的方法是什么?正则表达式会是什么样的,它与正常的字符串操作相比如何?
将要清理的字符串相当短,通常长度在10到30个字符之间.
我有一个文本框,用于搜索站点内的数据.我的客户想要什么,
1)在搜索字段中输入任何文本,然后单击搜索符号.
2)使用像"Burp"这样的Web代理工具进入服务器的请求
3)使用当前脚本附加参数
test<~script>confirm(123)<~/script>
Run Code Online (Sandbox Code Playgroud)
这里发生的是
advesary输入的XSS脚本会在没有任何输入的情况下反映在响应中.请看下面的图片,你会得到一个想法: -
![在此处输入图像说明] [1]
伙计们,如果您需要更多相关信息,请与我们联系.请帮助伙计们,任何帮助将不胜感激.我想从服务器端停止攻击.
HTML和JS代码: -
<asp:TextBox ID="txtSearch" runat="server" class="txtfld-search" oncopy="return false" oncut="return false" onpaste="return false"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
JS代码: -
<script type="text/javascript">
$(document).ready(function () {
$('#ctl00_topNavigation_txtSearch').keyup(function () {
var $th = $(this);
$th.val($th.val().replace(/[^.%a-zA-Z0-9 ]/g,
function (str) {
alert('Special characters not allowed except %');
return '';
}));
});
});
Run Code Online (Sandbox Code Playgroud)
另见后面的代码: -
protected void btnSearch_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("search.aspx?tx=" + txtSearch.Text);
}
Run Code Online (Sandbox Code Playgroud)
另外,请参阅搜索部分的代码: -
private void SearchResult()
{
DataTable dt;
if (Session["Search"] == null)
{
ResXResourceReader …Run Code Online (Sandbox Code Playgroud) 我想从字符串中删除所有非字母字符.当我说所有字母时,我指的是不在字母表中的任何字母,或者是撇号.这是我的代码.
public static string RemoveBadChars(string word)
{
char[] chars = new char[word.Length];
for (int i = 0; i < word.Length; i++)
{
char c = word[i];
if ((int)c >= 65 && (int)c <= 90)
{
chars[i] = c;
}
else if ((int)c >= 97 && (int)c <= 122)
{
chars[i] = c;
}
else if ((int)c == 44)
{
chars[i] = c;
}
}
word = new string(chars);
return word;
}
Run Code Online (Sandbox Code Playgroud)
它很接近,但不太合适.问题是这样的:
[in]: "(the"
[out]: " the"
Run Code Online (Sandbox Code Playgroud)
它给了我一个空间而不是"(".我想完全删除这个角色.
如何从字符串列表中删除所有非字母数字单词(List<string>)?
我发现这个正则表达式!word.match(/^[[:alpha:]]+$/)但是在C#中如何获得一个只包含纯字母数字字符串的新列表?
这是代码:
StringBuilder sb = new StringBuilder();
Regex rgx = new Regex("[^a-zA-Z0-9 -]");
var words = Regex.Split(textBox1.Text, @"(?=(?<=[^\s])\s+\w)");
for (int i = 0; i < words.Length; i++)
{
words[i] = rgx.Replace(words[i], "");
}
Run Code Online (Sandbox Code Playgroud)
当我正在做的Regex.Split()话包含内部字符串的字符串exmaple:
Daniel>
要么
Hello:
要么
\r\nNew
要么
hello---------------------------
我只需要得到没有所有标志的单词
所以我试图使用这个循环,但我结束说,有很多地方""
和一些地方只有------------------------
我不能在我的代码中使用它作为字符串.
我有一个字符串,如下所示:rgb (255, 0, 0).我想删除其中的每个字符,除了数字和,(逗号)字符.
基于此,我有两个问题:
如何用正则表达式做到这一点?(我找到了这个答案,但我不知道如何在其中加入,(逗号)标志......)
正则表达式是实现此目的的最佳方法吗?还是有一些其他(更好)的方法?
(最佳=表现最佳)