mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 15:51:54 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			28 lines
		
	
	
		
			496 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			496 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package utils
 | 
						|
 | 
						|
// CleanPath 清理Path中的多余的字符
 | 
						|
func CleanPath(path string) string {
 | 
						|
	l := len(path)
 | 
						|
	if l == 0 {
 | 
						|
		return "/"
 | 
						|
	}
 | 
						|
	result := []byte{'/'}
 | 
						|
	isSlash := true
 | 
						|
	for i := 0; i < l; i++ {
 | 
						|
		if path[i] == '?' {
 | 
						|
			result = append(result, path[i:]...)
 | 
						|
			break
 | 
						|
		}
 | 
						|
		if path[i] == '\\' || path[i] == '/' {
 | 
						|
			if !isSlash {
 | 
						|
				isSlash = true
 | 
						|
				result = append(result, '/')
 | 
						|
			}
 | 
						|
		} else {
 | 
						|
			isSlash = false
 | 
						|
			result = append(result, path[i])
 | 
						|
		}
 | 
						|
	}
 | 
						|
	return string(result)
 | 
						|
}
 |