Golang程序 去除前导零

Golang程序 去除前导零

在Golang中,去除数字或字符串开头出现的任何零被称为 “去除前导零”。前导零经常是为了格式化或对齐的需要而包含的,尽管它们并不传达任何重要的信息。它们可以被消除,以提高数字或字符串的可用性和人类的可读性。重要的是要记住,前导零有时对特定的应用是至关重要的,如一些金融或科学的应用。让我们通过这个程序来清楚地了解一下这个概念。在这个程序中,我们将通过不同的例子来学习如何去除前导零。

方法1:使用TrimLeft函数

这个方法使用TrimLeft函数从输入字符串 “0000892 “中去除所有的前导零(”0″),从而得到输出字符串 “892”。让我们通过示例:和算法来看看它的执行情况。

语法

TrimLeft()

要从一个字符串中删除前面的空格或特定的字符,可以使用 TrimLeft() 函数。它需要两个参数:你想改变的字符串和你想从字符串的开头剔除的一个或多个字符。修改后的字符串将被送回。

算术

  • 第1步 – 创建一个包main,并在程序中声明fmt(格式包)和strings包,其中main产生可执行的Example:s,fmt帮助格式化输入和输出。

  • 第2步 – 创建一个main函数,在该函数中创建一个字符串initial_value变量,给它一个带前导零的值。

  • 第 3步 – 在initial_value变量上使用TrimLeft函数,删除字符(本例中为 “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 package)包,其中main产生可执行的example:s,fmt帮助格式化输入和输出。

  • 第2步 – 建立一个名为removeLeadingZeros的方法,接受一个名为str的字符串作为输入。

  • 第 3步– 声明变量 leading_zero 为真,输出为空字符串。

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

  • 第 5步 – 在循环中检查 leading_zero 是否为假或者当前字符是否为零。如果这些条件之一为真,则将当前字符添加到结果字符串中,并将 leading_zero 改为 false。

  • 第6步 – 循环结束后,提供输出字符串回来。

  • 第7步 – 从主函数中调用removeLeadingZeros函数并提供initial_value字符串。把结果放在输出变量中。

  • 第8步 – 输出变量将使用fmt.Println()函数打印在控制台,其中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循环来迭代每个字符。这两个程序的输出结果相似。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程