【问题标题】:Removing diachritics accents from words去除单词中的变音符号
【发布时间】:2016-10-20 08:58:48
【问题描述】:

请帮我更改此代码以在命令行中接受参数

删除重音的功能 - 变音符号。

Function EliminarAcentos(texto)

    Dim i, s1, s2
    s1 = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïòóôõöùúûü"
    s2 = "AAAAAACEEEEIIIIOOOOOUUUUaaaaaaceeeeiiiiooooouuuu"
    If Len(texto) <> 0 Then
        For i = 1 To Len(s1)
            texto = Replace(texto, Mid(s1,i,1), Mid(s2,i,1))
        Next
    End If

    EliminarAcentos = texto

End Function

我需要像这样运行脚本:

>remove_accents Dídímênsô
Didimenso

【问题讨论】:

  • 我将这一行放在脚本的末尾:Wscript.Arguments(0) 并像这样运行脚本: > cscript remove_acentos.vbs ênfase 但是我收到了这条消息; remove_acentos.vbs(1, 36) Microsoft VBScript 编译错误: ')' esperado

标签: vbscript arguments


【解决方案1】:

您在评论中提到的错误(“remove_acentos.vbs(1, 36) Erro de compilação do Microsoft VBScript: ')' esperado”)不是由您发布的代码引起的。

这个

Option Explicit

Function EliminarAcentos(texto)

    Dim i, s1, s2
    s1 = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïòóôõöùúûü"
    s2 = "AAAAAACEEEEIIIIOOOOOUUUUaaaaaaceeeeiiiiooooouuuu"
    If Len(texto) <> 0 Then
        For i = 1 To Len(s1)
            texto = Replace(texto, Mid(s1,i,1), Mid(s2,i,1))
        Next
    End If

    EliminarAcentos = texto

End Function

Dim texto : texto = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïòóôõöùúûü"
If WScript.Arguments.Count > 0 Then texto = WScript.Arguments(0)

WScript.Echo EliminarAcentos(texto)

编译运行成功——演示.Arguments的使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2013-06-10
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    相关资源
    最近更新 更多