从具有多个出现次数的较大的字符串中获取特定的小字符串

时间:2017-05-19 18:57:53

标签: java android linux string

我创建了一个android应用程序,它会向控制台返回一些Linux命令。

在这种情况下,我想找到我的wlan0 ip和我的wlan1(连接时)ip。 我已获得ifconfig命令返回的全文。问题是如何将这两个IP变为2个变量? 我试图在inet字之后进行子串,但是inet有一个以上的单词。这个的最佳解决方案是什么?

这是我的字符串:

    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 16436
    inet 127.0.0.1  netmask 255.0.0.0
    inet6 ::1  prefixlen 128  scopeid 0x10<host>
    loop  txqueuelen 0  (Local Loopback)
    RX packets 37  bytes 7123 (6.9 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 37  bytes 7123 (6.9 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    p2p0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
    inet6 xxxxxx  prefixlen 64  scopeid 0x20<link>
    ether xxxxxx txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
    inet 192.168.0.100  netmask 255.255.255.0  broadcast 192.168.0.255
    inet6 xxxxxxxxxxx  prefixlen 64  scopeid 0x20<link>
    ether xxxxxxx6  txqueuelen 1000  (Ethernet)
    RX packets 1504  bytes 817297 (798.1 KiB)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 686  bytes 126080 (123.1 KiB)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

请注意,我并不关心:p2p0lo部分,只关注wlan0和wlan1(连接时)。

我想要的是将192.168.0.100保存到String ip中;

提前致谢!

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解你的尝试,但我认为Regular Expressions 是一种可行的方式