2 回答
TA贡献1827条经验 获得超8个赞
使用strings.TrimSpace,strings.Index并参考相关的stackoverflow答案,我得到了一个有效的解决方案,请在下面找到有效的代码:-
package main
import (
"fmt"
"strings"
)
func CToGoString(c []byte) string {
n := -1
for i, b := range c {
if b == 0 {
break
}
n = i
}
return string(c[:n+1])
}
func main() {
s := []byte(`The request will be processed at a domain controller for domain local.nl.bol.com.
User name bla
Full Name bla bla
Comment
User's comment
Country code (null)
Account active Yes
Account expires Never
Password last set 13-3-2016 11:05:26
Password expires 22-4-2016 11:05:26
Password changeable 13-3-2016 11:05:26
Password required Yes
User may change password Yes
Workstations allowed All
Logon script bla.bat
User profile
Home directory
Last logon 31-3-2016 7:59:29
Logon hours allowed All
The command completed successfully.`)
d := CToGoString(s)
len := len("Password expires")
i := strings.Index(d, "Password expires")
j := strings.Index(d, "Password changeable")
chars := d[i+len:j]
fmt.Println(strings.TrimSpace(chars))
}
已将代码发布到操场:http : //play.golang.org/p/t0Xjd04-pi
TA贡献1780条经验 获得超1个赞
您可以通过将 []byte 转换为字符串,然后使用 strings 包查找并提取该值,最后使用 time.Parse 对其进行解析以将字符串转换为您可以使用的时间来实现。
package main
import (
"fmt"
"strings"
"time"
"log"
)
func main() {
line := data[strings.Index(data, "Password expires"):strings.Index(data, "Password changeable")]
date := strings.TrimSpace(strings.TrimPrefix(line, "Password expires"))
fmt.Println(date)
pDate, err := time.Parse("02-1-2006 03:04:05", date)
if err != nil {
log.Fatal(err)
}
fmt.Println(pDate)
}
var data = string([]byte(`The request will be processed at a domain controller for domain local.nl.bol.com.
User name bla
Full Name bla bla
Comment
User's comment
Country code (null)
Account active Yes
Account expires Never
Password last set 13-3-2016 11:05:26
Password expires 22-4-2016 11:05:26
Password changeable 13-3-2016 11:05:26
Password required Yes
User may change password Yes
Workstations allowed All
Logon script bla.bat
User profile
Home directory
Last logon 31-3-2016 7:59:29
Logon hours allowed All
The command completed successfully.`))
- 2 回答
- 0 关注
- 140 浏览
添加回答
举报
