refactor: replace strings.Replace with strings.ReplaceAll (#1250)

strings.ReplaceAll(s, old, new) is a wrapper function for
strings.Replace(s, old, new, -1). But strings.ReplaceAll is more
readable and removes the hardcoded -1.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
This commit is contained in:
Eng Zer Jun 2022-06-12 00:19:12 +08:00 committed by GitHub
parent f5d3d59d8c
commit 6bcf5e4ede
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 27 additions and 27 deletions

10
calc.go
View File

@ -1360,7 +1360,7 @@ func (f *File) parseToken(sheet string, token efp.Token, opdStack, optStack *Sta
// parseReference parse reference and extract values by given reference // parseReference parse reference and extract values by given reference
// characters and default sheet name. // characters and default sheet name.
func (f *File) parseReference(sheet, reference string) (arg formulaArg, err error) { func (f *File) parseReference(sheet, reference string) (arg formulaArg, err error) {
reference = strings.Replace(reference, "$", "", -1) reference = strings.ReplaceAll(reference, "$", "")
refs, cellRanges, cellRefs := list.New(), list.New(), list.New() refs, cellRanges, cellRefs := list.New(), list.New(), list.New()
for _, ref := range strings.Split(reference, ":") { for _, ref := range strings.Split(reference, ":") {
tokens := strings.Split(ref, "!") tokens := strings.Split(ref, "!")
@ -2065,13 +2065,13 @@ func cmplx2str(num complex128, suffix string) string {
c = strings.TrimSuffix(c, "+0i") c = strings.TrimSuffix(c, "+0i")
c = strings.TrimSuffix(c, "-0i") c = strings.TrimSuffix(c, "-0i")
c = strings.NewReplacer("+1i", "+i", "-1i", "-i").Replace(c) c = strings.NewReplacer("+1i", "+i", "-1i", "-i").Replace(c)
c = strings.Replace(c, "i", suffix, -1) c = strings.ReplaceAll(c, "i", suffix)
return c return c
} }
// str2cmplx convert complex number string characters. // str2cmplx convert complex number string characters.
func str2cmplx(c string) string { func str2cmplx(c string) string {
c = strings.Replace(c, "j", "i", -1) c = strings.ReplaceAll(c, "j", "i")
if c == "i" { if c == "i" {
c = "1i" c = "1i"
} }
@ -13489,7 +13489,7 @@ func (fn *formulaFuncs) SUBSTITUTE(argsList *list.List) formulaArg {
text, oldText := argsList.Front().Value.(formulaArg), argsList.Front().Next().Value.(formulaArg) text, oldText := argsList.Front().Value.(formulaArg), argsList.Front().Next().Value.(formulaArg)
newText, instanceNum := argsList.Front().Next().Next().Value.(formulaArg), 0 newText, instanceNum := argsList.Front().Next().Next().Value.(formulaArg), 0
if argsList.Len() == 3 { if argsList.Len() == 3 {
return newStringFormulaArg(strings.Replace(text.Value(), oldText.Value(), newText.Value(), -1)) return newStringFormulaArg(strings.ReplaceAll(text.Value(), oldText.Value(), newText.Value()))
} }
instanceNumArg := argsList.Back().Value.(formulaArg).ToNumber() instanceNumArg := argsList.Back().Value.(formulaArg).ToNumber()
if instanceNumArg.Type != ArgNumber { if instanceNumArg.Type != ArgNumber {
@ -14804,7 +14804,7 @@ func (fn *formulaFuncs) ENCODEURL(argsList *list.List) formulaArg {
return newErrorFormulaArg(formulaErrorVALUE, "ENCODEURL requires 1 argument") return newErrorFormulaArg(formulaErrorVALUE, "ENCODEURL requires 1 argument")
} }
token := argsList.Front().Value.(formulaArg).Value() token := argsList.Front().Value.(formulaArg).Value()
return newStringFormulaArg(strings.Replace(url.QueryEscape(token), "+", "%20", -1)) return newStringFormulaArg(strings.ReplaceAll(url.QueryEscape(token), "+", "%20"))
} }
// Financial Functions // Financial Functions

View File

@ -1001,7 +1001,7 @@ func (f *File) DeleteChart(sheet, cell string) (err error) {
if ws.Drawing == nil { if ws.Drawing == nil {
return return
} }
drawingXML := strings.Replace(f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID), "..", "xl", -1) drawingXML := strings.ReplaceAll(f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID), "..", "xl")
return f.deleteDrawing(col, row, drawingXML, "Chart") return f.deleteDrawing(col, row, drawingXML, "Chart")
} }

View File

@ -112,7 +112,7 @@ func (f *File) AddComment(sheet, cell, format string) error {
// The worksheet already has a comments relationships, use the relationships drawing ../drawings/vmlDrawing%d.vml. // The worksheet already has a comments relationships, use the relationships drawing ../drawings/vmlDrawing%d.vml.
sheetRelationshipsDrawingVML = f.getSheetRelationshipsTargetByID(sheet, ws.LegacyDrawing.RID) sheetRelationshipsDrawingVML = f.getSheetRelationshipsTargetByID(sheet, ws.LegacyDrawing.RID)
commentID, _ = strconv.Atoi(strings.TrimSuffix(strings.TrimPrefix(sheetRelationshipsDrawingVML, "../drawings/vmlDrawing"), ".vml")) commentID, _ = strconv.Atoi(strings.TrimSuffix(strings.TrimPrefix(sheetRelationshipsDrawingVML, "../drawings/vmlDrawing"), ".vml"))
drawingVML = strings.Replace(sheetRelationshipsDrawingVML, "..", "xl", -1) drawingVML = strings.ReplaceAll(sheetRelationshipsDrawingVML, "..", "xl")
} else { } else {
// Add first comment for given sheet. // Add first comment for given sheet.
sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels" sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels"

View File

@ -30,7 +30,7 @@ func (f *File) prepareDrawing(ws *xlsxWorksheet, drawingID int, sheet, drawingXM
// The worksheet already has a picture or chart relationships, use the relationships drawing ../drawings/drawing%d.xml. // The worksheet already has a picture or chart relationships, use the relationships drawing ../drawings/drawing%d.xml.
sheetRelationshipsDrawingXML = f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID) sheetRelationshipsDrawingXML = f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID)
drawingID, _ = strconv.Atoi(strings.TrimSuffix(strings.TrimPrefix(sheetRelationshipsDrawingXML, "../drawings/drawing"), ".xml")) drawingID, _ = strconv.Atoi(strings.TrimSuffix(strings.TrimPrefix(sheetRelationshipsDrawingXML, "../drawings/drawing"), ".xml"))
drawingXML = strings.Replace(sheetRelationshipsDrawingXML, "..", "xl", -1) drawingXML = strings.ReplaceAll(sheetRelationshipsDrawingXML, "..", "xl")
} else { } else {
// Add first picture for given sheet. // Add first picture for given sheet.
sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels" sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels"

4
lib.go
View File

@ -43,7 +43,7 @@ func (f *File) ReadZipReader(r *zip.Reader) (map[string][]byte, int, error) {
if unzipSize > f.options.UnzipSizeLimit { if unzipSize > f.options.UnzipSizeLimit {
return fileList, worksheets, newUnzipSizeLimitError(f.options.UnzipSizeLimit) return fileList, worksheets, newUnzipSizeLimitError(f.options.UnzipSizeLimit)
} }
fileName := strings.Replace(v.Name, "\\", "/", -1) fileName := strings.ReplaceAll(v.Name, "\\", "/")
if partName, ok := docPart[strings.ToLower(fileName)]; ok { if partName, ok := docPart[strings.ToLower(fileName)]; ok {
fileName = partName fileName = partName
} }
@ -284,7 +284,7 @@ func CoordinatesToCellName(col, row int, abs ...bool) (string, error) {
// areaRefToCoordinates provides a function to convert area reference to a // areaRefToCoordinates provides a function to convert area reference to a
// pair of coordinates. // pair of coordinates.
func areaRefToCoordinates(ref string) ([]int, error) { func areaRefToCoordinates(ref string) ([]int, error) {
rng := strings.Split(strings.Replace(ref, "$", "", -1), ":") rng := strings.Split(strings.ReplaceAll(ref, "$", ""), ":")
if len(rng) < 2 { if len(rng) < 2 {
return nil, ErrParameterInvalid return nil, ErrParameterInvalid
} }

View File

@ -508,12 +508,12 @@ func (f *File) GetPicture(sheet, cell string) (string, []byte, error) {
return "", nil, err return "", nil, err
} }
target := f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID) target := f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID)
drawingXML := strings.Replace(target, "..", "xl", -1) drawingXML := strings.ReplaceAll(target, "..", "xl")
if _, ok := f.Pkg.Load(drawingXML); !ok { if _, ok := f.Pkg.Load(drawingXML); !ok {
return "", nil, err return "", nil, err
} }
drawingRelationships := strings.Replace( drawingRelationships := strings.ReplaceAll(
strings.Replace(target, "../drawings", "xl/drawings/_rels", -1), ".xml", ".xml.rels", -1) strings.ReplaceAll(target, "../drawings", "xl/drawings/_rels"), ".xml", ".xml.rels")
return f.getPicture(row, col, drawingXML, drawingRelationships) return f.getPicture(row, col, drawingXML, drawingRelationships)
} }
@ -535,7 +535,7 @@ func (f *File) DeletePicture(sheet, cell string) (err error) {
if ws.Drawing == nil { if ws.Drawing == nil {
return return
} }
drawingXML := strings.Replace(f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID), "..", "xl", -1) drawingXML := strings.ReplaceAll(f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID), "..", "xl")
return f.deleteDrawing(col, row, drawingXML, "Pic") return f.deleteDrawing(col, row, drawingXML, "Pic")
} }
@ -573,7 +573,7 @@ func (f *File) getPicture(row, col int, drawingXML, drawingRelationships string)
drawRel = f.getDrawingRelationships(drawingRelationships, deTwoCellAnchor.Pic.BlipFill.Blip.Embed) drawRel = f.getDrawingRelationships(drawingRelationships, deTwoCellAnchor.Pic.BlipFill.Blip.Embed)
if _, ok = supportedImageTypes[filepath.Ext(drawRel.Target)]; ok { if _, ok = supportedImageTypes[filepath.Ext(drawRel.Target)]; ok {
ret = filepath.Base(drawRel.Target) ret = filepath.Base(drawRel.Target)
if buffer, _ := f.Pkg.Load(strings.Replace(drawRel.Target, "..", "xl", -1)); buffer != nil { if buffer, _ := f.Pkg.Load(strings.ReplaceAll(drawRel.Target, "..", "xl")); buffer != nil {
buf = buffer.([]byte) buf = buffer.([]byte)
} }
return return
@ -602,7 +602,7 @@ func (f *File) getPictureFromWsDr(row, col int, drawingRelationships string, wsD
anchor.Pic.BlipFill.Blip.Embed); drawRel != nil { anchor.Pic.BlipFill.Blip.Embed); drawRel != nil {
if _, ok = supportedImageTypes[filepath.Ext(drawRel.Target)]; ok { if _, ok = supportedImageTypes[filepath.Ext(drawRel.Target)]; ok {
ret = filepath.Base(drawRel.Target) ret = filepath.Base(drawRel.Target)
if buffer, _ := f.Pkg.Load(strings.Replace(drawRel.Target, "..", "xl", -1)); buffer != nil { if buffer, _ := f.Pkg.Load(strings.ReplaceAll(drawRel.Target, "..", "xl")); buffer != nil {
buf = buffer.([]byte) buf = buffer.([]byte)
} }
return return

View File

@ -141,7 +141,7 @@ func (f *File) AddPivotTable(opt *PivotTableOption) error {
pivotCacheID := f.countPivotCache() + 1 pivotCacheID := f.countPivotCache() + 1
sheetRelationshipsPivotTableXML := "../pivotTables/pivotTable" + strconv.Itoa(pivotTableID) + ".xml" sheetRelationshipsPivotTableXML := "../pivotTables/pivotTable" + strconv.Itoa(pivotTableID) + ".xml"
pivotTableXML := strings.Replace(sheetRelationshipsPivotTableXML, "..", "xl", -1) pivotTableXML := strings.ReplaceAll(sheetRelationshipsPivotTableXML, "..", "xl")
pivotCacheXML := "xl/pivotCache/pivotCacheDefinition" + strconv.Itoa(pivotCacheID) + ".xml" pivotCacheXML := "xl/pivotCache/pivotCacheDefinition" + strconv.Itoa(pivotCacheID) + ".xml"
err = f.addPivotCache(pivotCacheXML, opt) err = f.addPivotCache(pivotCacheXML, opt)
if err != nil { if err != nil {
@ -206,7 +206,7 @@ func (f *File) adjustRange(rangeStr string) (string, []int, error) {
if len(rng) != 2 { if len(rng) != 2 {
return "", []int{}, ErrParameterInvalid return "", []int{}, ErrParameterInvalid
} }
trimRng := strings.Replace(rng[1], "$", "", -1) trimRng := strings.ReplaceAll(rng[1], "$", "")
coordinates, err := areaRefToCoordinates(trimRng) coordinates, err := areaRefToCoordinates(trimRng)
if err != nil { if err != nil {
return rng[0], []int{}, err return rng[0], []int{}, err

View File

@ -297,7 +297,7 @@ func (f *File) AddShape(sheet, cell, format string) error {
// The worksheet already has a shape or chart relationships, use the relationships drawing ../drawings/drawing%d.xml. // The worksheet already has a shape or chart relationships, use the relationships drawing ../drawings/drawing%d.xml.
sheetRelationshipsDrawingXML = f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID) sheetRelationshipsDrawingXML = f.getSheetRelationshipsTargetByID(sheet, ws.Drawing.RID)
drawingID, _ = strconv.Atoi(strings.TrimSuffix(strings.TrimPrefix(sheetRelationshipsDrawingXML, "../drawings/drawing"), ".xml")) drawingID, _ = strconv.Atoi(strings.TrimSuffix(strings.TrimPrefix(sheetRelationshipsDrawingXML, "../drawings/drawing"), ".xml"))
drawingXML = strings.Replace(sheetRelationshipsDrawingXML, "..", "xl", -1) drawingXML = strings.ReplaceAll(sheetRelationshipsDrawingXML, "..", "xl")
} else { } else {
// Add first shape for given sheet. // Add first shape for given sheet.
sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels" sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels"
@ -448,7 +448,7 @@ func (f *File) addDrawingShape(sheet, drawingXML, cell string, formatSet *format
Lang: "en-US", Lang: "en-US",
}, },
} }
srgbClr := strings.Replace(strings.ToUpper(p.Font.Color), "#", "", -1) srgbClr := strings.ReplaceAll(strings.ToUpper(p.Font.Color), "#", "")
if len(srgbClr) == 6 { if len(srgbClr) == 6 {
paragraph.R.RPr.SolidFill = &aSolidFill{ paragraph.R.RPr.SolidFill = &aSolidFill{
SrgbClr: &attrValString{ SrgbClr: &attrValString{
@ -484,7 +484,7 @@ func setShapeRef(color string, i int) *aRef {
return &aRef{ return &aRef{
Idx: i, Idx: i,
SrgbClr: &attrValString{ SrgbClr: &attrValString{
Val: stringPtr(strings.Replace(strings.ToUpper(color), "#", "", -1)), Val: stringPtr(strings.ReplaceAll(strings.ToUpper(color), "#", "")),
}, },
} }
} }

View File

@ -99,9 +99,9 @@ func (f *File) contentTypesWriter() {
// and /xl/worksheets/sheet%d.xml // and /xl/worksheets/sheet%d.xml
func (f *File) getWorksheetPath(relTarget string) (path string) { func (f *File) getWorksheetPath(relTarget string) (path string) {
path = filepath.ToSlash(strings.TrimPrefix( path = filepath.ToSlash(strings.TrimPrefix(
strings.Replace(filepath.Clean(fmt.Sprintf("%s/%s", filepath.Dir(f.getWorkbookPath()), relTarget)), "\\", "/", -1), "/")) strings.ReplaceAll(filepath.Clean(fmt.Sprintf("%s/%s", filepath.Dir(f.getWorkbookPath()), relTarget)), "\\", "/"), "/"))
if strings.HasPrefix(relTarget, "/") { if strings.HasPrefix(relTarget, "/") {
path = filepath.ToSlash(strings.TrimPrefix(strings.Replace(filepath.Clean(relTarget), "\\", "/", -1), "/")) path = filepath.ToSlash(strings.TrimPrefix(strings.ReplaceAll(filepath.Clean(relTarget), "\\", "/"), "/"))
} }
return path return path
} }

View File

@ -206,7 +206,7 @@ func (sw *StreamWriter) AddTable(hCell, vCell, format string) error {
} }
sheetRelationshipsTableXML := "../tables/table" + strconv.Itoa(tableID) + ".xml" sheetRelationshipsTableXML := "../tables/table" + strconv.Itoa(tableID) + ".xml"
tableXML := strings.Replace(sheetRelationshipsTableXML, "..", "xl", -1) tableXML := strings.ReplaceAll(sheetRelationshipsTableXML, "..", "xl")
// Add first table for given sheet. // Add first table for given sheet.
sheetPath := sw.File.sheetMap[trimSheetName(sw.Sheet)] sheetPath := sw.File.sheetMap[trimSheetName(sw.Sheet)]

View File

@ -2123,7 +2123,7 @@ func newNumFmt(styleSheet *xlsxStyleSheet, style *Style) int {
if !currency { if !currency {
return setLangNumFmt(styleSheet, style) return setLangNumFmt(styleSheet, style)
} }
fc = strings.Replace(fc, "0.00", dp, -1) fc = strings.ReplaceAll(fc, "0.00", dp)
if style.NegRed { if style.NegRed {
fc = fc + ";[Red]" + fc fc = fc + ";[Red]" + fc
} }
@ -3018,7 +3018,7 @@ func drawConfFmtExp(p int, ct string, format *formatConditional) *xlsxCfRule {
// getPaletteColor provides a function to convert the RBG color by given // getPaletteColor provides a function to convert the RBG color by given
// string. // string.
func getPaletteColor(color string) string { func getPaletteColor(color string) string {
return "FF" + strings.Replace(strings.ToUpper(color), "#", "", -1) return "FF" + strings.ReplaceAll(strings.ToUpper(color), "#", "")
} }
// themeReader provides a function to get the pointer to the xl/theme/theme1.xml // themeReader provides a function to get the pointer to the xl/theme/theme1.xml

View File

@ -83,7 +83,7 @@ func (f *File) AddTable(sheet, hCell, vCell, format string) error {
tableID := f.countTables() + 1 tableID := f.countTables() + 1
sheetRelationshipsTableXML := "../tables/table" + strconv.Itoa(tableID) + ".xml" sheetRelationshipsTableXML := "../tables/table" + strconv.Itoa(tableID) + ".xml"
tableXML := strings.Replace(sheetRelationshipsTableXML, "..", "xl", -1) tableXML := strings.ReplaceAll(sheetRelationshipsTableXML, "..", "xl")
// Add first table for given sheet. // Add first table for given sheet.
sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels" sheetRels := "xl/worksheets/_rels/" + strings.TrimPrefix(f.sheetMap[trimSheetName(sheet)], "xl/worksheets/") + ".rels"
rID := f.addRels(sheetRels, SourceRelationshipTable, sheetRelationshipsTableXML, "") rID := f.addRels(sheetRels, SourceRelationshipTable, sheetRelationshipsTableXML, "")