有一個包含數字數據的字符串變量,如$x = "OP/99/DIR";
。數字數據的位置可以在任何情況下通過用戶需求在應用程序內部修改而改變,並且斜槓可以被任何其他字符改變;但號碼數據是強制性的。如何將數字數據替換爲不同的數字?示例OP/99/DIR
更改爲OP/100/DIR
。如何將字符串中的數字數據替換爲不同的數字?
1
A
回答
2
$string="OP/99/DIR";
$replace_number=100;
$string = preg_replace('!\d+!', $replace_number, $string);
print $string;
輸出:
OP/100/DIR
2
假設的數目只發生一次:
$content = str_replace($originalText, $numberToReplace, $numberToReplaceWith);
只改變第一次出現:
$content = str_replace($originalText, $numberToReplace, $numberToReplaceWith, 1);
2
使用正則表達式和的preg_replace
$x="OP/99/DIR";
$new = 100;
$x=preg_replace('/\d+/e','$new',$x);
print $x;
1
最靈活的解決方案是使用preg_replace_callback(),所以你可以做任何你想要的比賽。這匹配字符串中的單個數字,然後將其替換爲數字加1。
[email protected]:~# more test.php
<?php
function callback($matches) {
//If there's another match, do something, if invalid
return $matches[0] + 1;
}
$d[] = "OP/9/DIR";
$d[] = "9\$OP\$DIR";
$d[] = "DIR%OP%9";
$d[] = "OP/9321/DIR";
$d[] = "9321\$OP\$DIR";
$d[] = "DIR%OP%9321";
//Change regexp to use the proper separator if needed
$d2 = preg_replace_callback("(\d+)","callback",$d);
print_r($d2);
?>
[email protected]:~# php test.php
Array
(
[0] => OP/10/DIR
[1] => 10$OP$DIR
[2] => DIR%OP%10
[3] => OP/9322/DIR
[4] => 9322$OP$DIR
[5] => DIR%OP%9322
)
相關問題
- 1. 如何將字符串中的數字替換/替換爲字符串內字母的乘數?
- 2. 將字符串轉換爲數字,生成不同的數字
- 3. 如何將引用的多字字符串替換爲參數?
- 4. 如何將字符串中存儲的數據轉換爲字符串數組
- 5. 使用字符串中的數字替換數據幀列中的字符串
- 6. 如何將字符串分數和數字轉換爲數字?
- 7. 替換字符串中的數字 - C#
- 8. 只替換字符串中的數字
- 9. sed替換字符串中的數字
- 10. 替換數據幀中的字符串
- 11. 如何將數據框轉換爲RDD [字符串,字符串]?
- 12. 如何將字符串中的數字轉換爲整數
- 13. 如何將數字字符串轉換爲數字(十進制)並將數字轉換爲字符串
- 14. 如何用新字符串替換數組中的字符串?
- 15. JavaScript無法將字符串替換爲相同字數
- 16. 將字符串轉換爲R中的數字數據類型
- 17. 如何用C中的數組替換數據的字符串?
- 18. 使用字符串數組將字符串轉換爲不同的字符
- 19. 如何將字符串中的字母轉換爲數字 - C++
- 20. JSON數據中的奇數字符,替換爲「外賣字符」?
- 21. 如何將數組中的數據轉換爲字符串C++
- 22. 如何將指數數字字符串轉換爲整數字符串
- 23. 用數組中的字符替換字符串中的字符
- 24. 如何將字符串轉換爲C++中的字符數組?
- 25. 如何在COBOL中將字母數字字符串轉換爲數字小數
- 26. 如何將字母數字字符串轉換爲R中的數字?
- 27. 將字符串數字轉換爲PHP中的數字
- 28. 如何將數字替換爲字母
- 29. 如何將字符串轉換爲字典數組的數組?
- 30. 如何基於字符串的數據幀轉換爲數字
它和alexey的回答非常相似,所以使用'!'有什麼區別? – pheromix 2012-07-12 10:54:01
我使用了e修飾符,以便您可以在第二個參數中執行任何操作。關於!,實際上沒有什麼區別。它只是一個分隔符。檢查http://www.php.net/manual/en/regexp.reference.delimiters.php。 – Jithin 2012-07-12 11:00:09