给出以下输入文本:
John出生于 1965年,他在 10/22/89 上加入了他的第一份工作, 他的第一份工资 $ 2500 。今天他每月赚 10,000美元。他 在 08/2013
上创办了自己的公司
C#函数应识别所有数字(对于已知模式)并将这些单词转换(替换)为我们发音的单词。
使用上面的示例
可能有更多这样的组合,如
在这里进行一些研究是一些数字选项:
使用Humanizer的单词数量,可以使用ToWords
扩展名将数字更改为单词:
此外,Adam Robinson以及Number to String
的好解决方案无法找到将日期转换为发音字符串的更好/现有解决方案。
让谁对识别号码感到困惑日期,我将使用正则表达式来识别那些,我的问题是将确定的日期,数字转换为人发音词
这里的方法是
此时,我陷入了第4步。
答案 0 :(得分:1)
看看Humanizer。除其他外,它可以将日期和值转换为相应的单词。
答案 1 :(得分:0)
List<String> numericValues = new List<String>();
String tempValue = String.Empty;
for(int i =0; i < sourceString.length;i++)
{
if(Char.IsDigit(sourcestring[i]) || sourcestring[i] == '/' || sourcestring[i] == '$')//Etc.. special characters
{
tempValue = tempValue + sourcestring[i]
}
else
{
if(tempValue != String.Empty)
{
numericValues.Add(tempValue);
tempValue = String.Empty
}
}
}
这不包括像“10,000美元”这样的情况并且不处理空格但它应该给你一个起点。
答案 2 :(得分:0)
使用Humanizer的单词数量,可以使用ToWords
扩展名将数字更改为单词:
代码example
此外,Adam Robinson以及Number to String
的好解决方案无法为发音字符串的日期找到更好/现有的解决方案。