替换希腊语给定文字中的字词,例如英文字样。
这是一个例子:
var str= "Ενώ Gallant δεν λειτουργεί στην προσπάθεια να χτίσει πια μηχανές αποκωδικοποίησης, οι άλλοι."
function findword(){
word = new RegExp("\\b(προσπάθεια)\\b","gi")
var sust = str.replace(word,'effort');
}
它应该返回: “ΕνώGallantδενλειτουργείστην努力ναχτίσειπιαμηχανέςαποκωδικοποίησης,οιάλλοι。
尝试在JavaScript中这样做我失败了,但我读过这是不可能的,因为这种语言不能处理除英语以外的Unicode字符。我找到的唯一可能是xregexp,但它似乎只能检测字符类而不是单个单词。 ¿真的不可能让它在JavaScript中运行吗?
Python 3文档指出这种语言可以处理unicode字符,但在这种情况下,似乎有必要使用unicode代码编写字符...使用哪种语言可以用最简单的方式替换单词我在代码中写道? Python,Java,Perl ......?
答案 0 :(得分:0)
这应该这样做:
'Ενώ Gallant δεν λειτουργεί στην προσπάθεια να χτίσει πια μηχανές αποκωδικοποίησης, οι άλλοι.'.replace( /(προσπάθεια)/g, 'effort' )
修改强>
我认为这完全符合您的要求:
String.prototype.translate = function translate( greek, english ) {
return this.replace( new RegExp( '(' + greek + ')' ), english );
}
var translatedString = 'Ενώ Gallant δεν λειτουργεί στην προσπάθεια να χτίσει πια μηχανές αποκωδικοποίησης, οι άλλοι.'.translate( 'προσπάθεια', 'effort' );
console.log( translatedString );
答案 1 :(得分:0)
Perl具有出色的unicode处理能力。例如。以下代码:
use 5.016;
use warnings;
use utf8;
use open qw(:std :utf8);
my $str= "Ενώ Gallant δεν λειτουργεί στην προσπάθεια να χτίσει πια μηχανές αποκωδικοποίησης, οι άλλοι.";
$str =~ s/\bπροσπάθεια\b/effort/g;
say $str;
打印
Ενώ Gallant δεν λειτουργεί στην effort να χτίσει πια μηχανές αποκωδικοποίησης, οι άλλοι.