我有一个简单的C#控制台代码,它将html名称转换为相应的符号.
示例: – & euro; – >这是欧元html名称,€ – >.这是欧元的十进制代码;
My code will convert this name to euro symbol-> €
但是当我将₹转换为₹时,它无效.
我的控制台应用代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
namespace Multiple_Replace
{
class Program
{
static void Main(string[] args)
{
var input = " ₹ 5000 €";
var replacements = new Dictionary<string, string> { { "₹", "₹" }, {"€", "€"} };
var output = replacements.Aggregate(input, (current, replacement) => current.Replace(replacement.Key, replacement.Value));
Console.WriteLine(output);
Console.ReadLine();
}
}
}
请帮帮我.
最佳答案 首先,我认为这里有一个更基本的问题.
您的输入字符串不包含字符串“& euro;”.
如果将Dictionary更改为:
var replacements = new Dictionary<string, string> { { "₹", "₹" }, { "€", "€" } };
然后你会看到输出实际上是:
₹ 5000 €
所以你没有看到你认为你看到的东西,因为“₹”是字符串的一部分“& euro;”不是.
也就是说,读到这一点,似乎所有浏览器都不支持这个卢比符号的html实体代码.
如果您要完成此任务,则以下代码使用unicode代码:
using System;
using System.Collections.Generic;
using System.Linq;
namespace Multiple_Replace
{
class Program
{
static void Main(string[] args)
{
var input = " ₹ 5000 €";
var replacements = new Dictionary<string, string> { { "₹", "\u20B9" }, { "€", "\u20AC" } };
var output = replacements.Aggregate(input, (current, replacement) => current.Replace(replacement.Key, replacement.Value));
Console.WriteLine(output);
Console.ReadLine();
}
}
}
另外,请检查此问题和接受的答案,我认为这将为您提供信息:
Displaying the Indian currency symbol on a website
最后,如果你想在html中正确表示符号,你可以使用这个代码:
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
<i class="fa fa-inr"></i>
HTH