如何在某个字符后删除字符串中的字符(例如:" 。")?
我有下一个字符串 12345.678 。我希望删除"之后的所有字符。"并获得 12345 。 "。"之后的字符数。是可变的。
谢谢。
答案 0 :(得分:1)
试试这个:
/\b([^\.]*)\.([0-9a-z]*)\b/$1/;
答案 1 :(得分:1)
请参阅perldoc -f索引:
$x = "12345.678";
$y = substr($x, 0, index($x, '.'));
答案 2 :(得分:1)
使用regexps的一个解决方案(请研究该文档,以便您可以自己学习...):
my $num = "12345.678";
$num =~ /(.*)\.+/;
print $1;
答案 3 :(得分:1)
$string = '12345.678';
# remove everything from . on
$string =~ s/\..*//s;
\.
与文字.
匹配; .*
匹配字符串中剩余的任何内容(使用/ s标志使其包含换行符,默认情况下不包括换行符)。
您也可以寻找:
$number = 12345.678;
$number = int $number;
如果你想获得.
之后的内容,请执行:
my ($before, $after) = split /\./, $string, 2;
答案 4 :(得分:0)
取决于您使用的环境和可用的工具,但是这样的东西可以在bash中使用
sed -e "s/\..*$//"
会奏效。 。逃脱“。”第二。匹配任何内容和*匹配0次或更多次,$匹配行尾
答案 5 :(得分:0)
使用split:
my ($num) = split(/\./, "12345.678");