C# 如何去掉特殊图形符号 比如★

juning123 2011-08-09 11:54:43
C# 如何去掉特殊图形符号 比如★?replace 不管用啊。。。
...全文
294 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
老毕 2011-08-09
  • 打赏
  • 举报
回复
你是说把某个字符串中的这些特殊符号去掉?

// 定义一个要排除的字符列表
char[] specialchars = new char[] { '▲', '△', '▼', '▽', '◇', '◎', '◢', '☆', '★' };

// 要过滤的源串,和准备存储结果的StringBuilder
string source = @"3ad158▲2531ada△dfe13▼31dfea35★53gag";
System.Text.StringBuilder result = new System.Text.StringBuilder();

// 将源串用要排除的字符分割后再拼接
source.Split(specialchars).ToList<string>().ForEach(s => result.Append(s));

Console.WriteLine(result.ToString());

结果:
3ad1582531adadfe1331dfea3553gag
sengguipin 2011-08-09
  • 打赏
  • 举报
回复
二楼正解
LMAOhuaNL 2011-08-09
  • 打赏
  • 举报
回复
string[] aryReg ={
@"<script[^>]*?>.*?</script>",
@"&(quot|#34);",
string[] aryReg ={
@"<script[^>]*?>.*?</script>",
@"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
@"([\r\n])[\s]+",
@"&(quot|#34);",
@"&(amp|#38);",
@"&(lt|#60);",
@"&(gt|#62);",
@"&(nbsp|#160);",
@"&(iexcl|#161);",
@"&(cent|#162);",
@"&(pound|#163);",
@"&(copy|#169);",
@"&#(\d+);",
@"-->",
@"<!--.*\n"
};
还是自己写个过滤器了
stonespace 2011-08-09
  • 打赏
  • 举报
回复
c#用的是unicode编码方式,先找到图形符号的unicode码,
juning123 2011-08-09
  • 打赏
  • 举报
回复
加上引用就好了
老毕 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 juning123 的回复:]

.ToList<string>() 我这没这个方法 ,用unicode 太麻烦了 我就想“23123,123123,1231321313|★”去掉“|★”
[/Quote]
如果这个字符串的长度是固定的,即"|★"出现的位置是固定的,那么直接用SubString()就可以截掉尾巴上这一块。
如果是不定长的,"|★"出现的位置完全随机,可以用我之前的方法。

ToList()是LINQ to Objects中的方法。
你如果是NET 3.5以上版本,添加引用:using System.Linq;
如果是NET 3.5以下版本,就自己用循环把Split得到的string[]拼接起来就OK,等价于之前我用的Foreach()。
杨友山 2011-08-09
  • 打赏
  • 举报
回复
用正则表达式 替换看咋样

Regex fileNameRegx = new Regex(@"开\s*头\s*:([\w\W]*?)结\s*尾\s*");
Match fnm = fileNameRegx.Match(htmlText);
string fnameStr = fnm.Value;
fnameStr = Regex.Replace(fnameStr, @"开\s*头\s*:", "");
fnameStr = Regex.Replace(fnameStr, @"结\s*尾\s*", "");
juning123 2011-08-09
  • 打赏
  • 举报
回复
public static List<String[]> ReadCSV(string filePathName)
{
List<String[]> ls = new List<String[]>();
StreamReader fileReader = new StreamReader(filePathName, Encoding.Default);
string strLine="";
while (strLine != null)
{
strLine = fileReader.ReadLine();
if (strLine != null && strLine.Length>0)
{
ls.Add(strLine.Split(','));
}
}
fileReader.Close();
return ls;
}


就是里面strLine 里面有|★ 要去掉
juning123 2011-08-09
  • 打赏
  • 举报
回复
.ToList<string>() 我这没这个方法 ,用unicode 太麻烦了 我就想“23123,123123,1231321313|★”去掉“|★”

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧