Golang 去除前导零

Golang 去除前导零

在Golang中,将出现在数字或字符串开头的任何零都称为“去除前导零”。前导零通常用于格式化或对齐的需要,尽管它们没有传达任何重要信息。可以通过去除前导零来改善数字或字符串的可用性和可读性。但需要注意,前导零有时对于特定的应用程序,如金融或科学应用程序可能是至关重要的。让我们通过本程序来清楚地理解这个概念。在这个程序中,我们将学习如何使用不同的示例来去除前导零。

方法1:使用TrimLeft函数

该方法使用TrimLeft函数从输入字符串“0000892”中删除所有前导零(“0”),结果是输出字符串“892”。让我们通过示例和算法来看它的执行过程。

语法

TrimLeft()

要从字符串中删除前置空格或特定字符,请使用 TrimLeft() 函数。它需要两个参数:您希望更改的字符串和您希望从字符串开头删除的字符或字符。更改后的字符串将返回。

步骤

  • 步骤1 −在main程序中创建一个main包,并声明fmt(格式化包)和strings包,其中main产生可执行的示例,并且fmt帮助格式化输入和输出。

  • 步骤2 −创建一个main函数,并在函数内部创建一个string类型的initial_value变量,并给它赋予一个带有前导零的值。

  • 步骤3 −使用TrimLeft函数在initial_value变量上删除字符(在这种情况下为“0”),将其作为参数发送。

  • 步骤4 −创建一个新变量output,并将TrimLeft函数的输出赋值给它。

  • 步骤5 −使用fmt.Println()函数将输出打印到控制台,其中ln表示换行。

  • 步骤6 −TrimLeft函数的操作方式是从字符串的开头删除您指定的所有字符。在这个示例中,它删除了所有前导零。然后将输出变量设置为结果,随后打印到控制台。

示例

在这个示例中,我们将看到如何使用TrimLeft()函数去除前导零。

package main
import (
   "fmt" 
   "strings"
)

func main() {
   initial_value := "0000000000892" //create a string with leading zeros
   fmt.Println("The initial input value is:", initial_value)

   output := strings.TrimLeft(initial_value, "0")//remove leading zeros using built-in function
   fmt.Println("The result after removing leading zeros is:")
   fmt.Println(output) //print output on the console
}

输出

The initial input value is: 0000000000892
The result after removing leading zeros is:
892

方法2:使用循环迭代字符串的字符的方法

在这个方法中,使用循环遍历输入字符串中的每个字符。如果字符是零且在循环期间仍然处于前导零中,则不包括在结果中。否则,它将被检查。在检测到第一个非零字符之后,所有后续字符将被添加到结果中,并将leading_zero变量设置为false。结果字符串中不会有前导零。让我们通过示例和算法来看一下。

步骤

  • 步骤1 − 创建一个main包,并在主程序中声明fmt(format包)包,其中main产生可执行的示例,fmt帮助格式化输入和输出。

  • 步骤2 − 创建一个名为removeLeadingZeros的方法,接受名为str的字符串作为输入。

  • 步骤3 − 声明变量leading_zero为true,output为一个空字符串。

  • 步骤4 − 使用for循环遍历输入字符串中的每个字符。

  • 步骤5 − 检查leading_zero是否为false或当前字符是否不是零。如果其中一个条件为真,则将当前字符添加到结果字符串中,并将leading_zero更改为false。

  • 步骤6 − 循环结束后,将输出字符串返回。

  • 步骤7 − 从主函数中调用removeLeadingZeros函数,并提供initial_value字符串。将结果放入output变量中。

  • 步骤8 − 使用fmt.Println()函数将output变量打印在控制台上,其中ln表示换行。

示例

在此示例中,我们将学习如何使用循环迭代字符串的字符来删除前导零。

package main
import (
   "fmt"
)

func removeLeadingZeros(str string) string {
   var output string    //create an empty string
   leading_zero := true     //set the flag as true 
   for _, ch := range str {
      if ch != '0' || !leading_zero {
         output += string(ch)
         leading_zero = false
      }
   }
   return output //return the output with no leading zeros
}

func main() {
   initial_value := "000000000892"   //create a string with leading zeros
   fmt.Println("The initial input value is:", initial_value)
   output := removeLeadingZeros(initial_value)
   fmt.Println("The result after removing leading zeros is:")
   fmt.Println(output)  //print the output on the console with no leading zeros
}

输出

The initial input value is: 000000000892
The result after removing leading zeros is:
892

结论

我们使用了两个示例来执行去除前导零的程序。在第一个示例中,我们使用了内置的TrimLeft函数;在第二个示例中,我们使用了一个for循环来遍历每个字符。这两个程序都给出了类似的输出。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程